#include <stdio.h>
#include "prescheme.h"
#include "scheme48vm-prelude.h"

static char add_more_channels(long);
static void push_exception_continuationB(char *, long, long, long, long);
static void enqueue_channelB(long, long);
static long close_channelB(long);
static long add_log_entryAgc(long, long, long, long, long, char);
static long enter_bignum(char *);
static long enter_stringAgc(char*);
static long current_code_vector(void);
static long channel_close_error(long, long, long);
static long make_registered_channel(long, long, long, long, long, long*);
static long really_preserve_continuation(long);
static long Hlookup2690(long, long, long);
static long Hlookup2671(long, long, long);
static void HtopD10262(void);
static void HtopD10273(void);
void s48_set_native_protocolB(long);
void s48_set_extension_valueB(long);
long s48_channel_count(void);
long *s48_channels(void);
void s48_reset_interruptsB(void);
long s48_imported_bindings(void);
long s48_exported_bindings(void);
long s48_symbol_table(void);
char * s48_set_gc_roots_baseB(void);
char s48_release_gc_roots_baseB(char *);
void s48_reset_external_rootsB(void);
void s48_note_event(void);
void s48_disable_interruptsB(void);
void s48_push_gc_rootsB(char *, long);
void s48_register_gc_rootB(char *);
void s48_stack_setB(long, long);
long s48_stack_ref(long);
void s48_push(long);
long s48_resetup_external_exception(long, long);
char s48_pop_gc_rootsB(void);
char * s48_shorten_bignum(char *, long);
long s48_allocate_bignum(long);
void s48_enable_interruptsB(void);
void s48_set_os_signals(long);
long s48_set_channel_os_index(long, long);
void s48_close_channel(long);
char s48_warn_about_undefined_imported_bindings(void);
void check_stack(void);
long s48_really_add_channel(long, long, long);
long s48_enter_integer(long);
void s48_setup_external_exception(long, long);
void s48_copy_stack_into_heap(void);
long s48_get_imported_binding(char*);
void s48_define_exported_binding(char*, long);
void s48_initialize_vm(char *, long);
void s48_post_gc_cleanup(void);
void s48_gc_root(void);
long s48_restart(long, long);
long s48_call_startup_procedure(char**, long);
static long Snumber_of_channelsS;
static long *Svm_channelsS;
static long Spending_channels_headS;
static long Spending_channels_tailS;
static long Stemp0S;
static long Stemp1S;
static char * Sstack_beginS;
static char * Sstack_endS;
static char * Sreal_stack_limitS;
static char * Sbottom_of_stackS;
static long Sheap_continuationS;
static char Sstack_warningPS;
static long Soldspace_beginS;
static long Soldspace_endS;
static long Sexception_handlersS;
static long Sinterrupt_handlersS;
static char * Slast_code_pointer_resumedS;
static long Scurrent_threadS;
static long Ssession_dataS;
static long Sfinalizer_alistS;
static long Sfinalize_theseS;
static long Senabled_interruptsS;
static long Spending_interruptsS;
static long Sinterrupted_templateS;
static long Sinterrupt_return_codeS;
static long Sexception_return_codeS;
static long Scall_with_values_return_codeS;
static long Ssaved_pcS;
static long Sos_signal_listS;
static char Sexternal_exceptionPS;
static long Sexternal_exception_nargsS;
static long Simported_bindingsS;
static long Sexported_bindingsS;
static long Sthe_symbol_tableS;
static char * Sexternal_root_stackS;
static char * Sexternal_root_stack_baseS;
static char * Spermanent_external_rootsS;
static long Sempty_logS;
static void (*Spost_gc_cleanupS)(void);
static void (*Sgc_root_procS)(void);
char * SstackS;
char * s48_Sstack_limitS;
char * ScontS;
char * Scode_pointerS;
long SvalS;
long Slast_code_calledS;
char s48_Spending_interruptPS;
long s48_Snative_protocolS;
long s48_Sextension_valueS;
long s48_Scallback_return_stack_blockS;
char s48_Spending_eventsPS;

static char add_more_channels(long index_4X)
{
  long arg0K0;
  long i_10X;
  long i_9X;
  long *new_vm_channels_8X;
  long new_count_7X;
  long y_6X;
  long x_5X;
 {  x_5X = 1 + index_4X;
  y_6X = 8 + (Snumber_of_channelsS);
  if ((x_5X < y_6X)) {
    arg0K0 = y_6X;
    goto L2946;}
  else {
    arg0K0 = x_5X;
    goto L2946;}}
 L2946: {
  new_count_7X = arg0K0;
  new_vm_channels_8X = (long*)malloc(sizeof(long) * new_count_7X);
  if ((NULL == new_vm_channels_8X)) {
    return 0;}
  else {
    arg0K0 = 0;
    goto L2958;}}
 L2958: {
  i_9X = arg0K0;
  if ((i_9X == (Snumber_of_channelsS))) {
    arg0K0 = (Snumber_of_channelsS);
    goto L3031;}
  else {
    *(new_vm_channels_8X + i_9X) = (*((Svm_channelsS) + i_9X));
    arg0K0 = (1 + i_9X);
    goto L2958;}}
 L3031: {
  i_10X = arg0K0;
  if ((i_10X == new_count_7X)) {
    free((Svm_channelsS));
    Svm_channelsS = new_vm_channels_8X;
    Snumber_of_channelsS = new_count_7X;
    return 1;}
  else {
    *(new_vm_channels_8X + i_10X) = 1;
    arg0K0 = (1 + i_10X);
    goto L3031;}}
}
static void push_exception_continuationB(char * code_pointer_11X, long pc_12X, long code_13X, long exception_14X, long inst_size_15X)
{
  long data_17X;
  long n_16X;
 {  SstackS = ((SstackS) + -20);
  n_16X = ((((ScontS) - (SstackS)))>>2);
  data_17X = 3 + (((long) (SstackS)));
  *((long *) (((char *) (-3 + data_17X)))) = (long) ((((n_16X)<<2)));
  *((long *) ((((char *) (-3 + data_17X))) + 4)) = (long) (pc_12X);
  *((long *) ((((char *) (-3 + data_17X))) + 8)) = (long) (code_13X);
  *((long *) ((((char *) (-3 + data_17X))) + 12)) = (long) (exception_14X);
  *((long *) ((((char *) (-3 + data_17X))) + 16)) = (long) (inst_size_15X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) code_pointer_11X)));
  ScontS = (SstackS);
  return;}
}
static void enqueue_channelB(long index_18X, long status_19X)
{
  char * addr_24X;
  long x_23X;
  char * addr_22X;
  long val_21X;
  long channel_20X;
 {  channel_20X = *((Svm_channelsS) + index_18X);
  val_21X = ((status_19X)<<2);
  addr_22X = (((char *) (-3 + channel_20X))) + 20;S48_WRITE_BARRIER(channel_20X, addr_22X, val_21X);
  *((long *) addr_22X) = (long) (val_21X);
  if ((1 == (*((long *) ((((char *) (-3 + channel_20X))) + 16))))) {
    if ((1 == (Spending_channels_headS))) {
      Spending_channels_headS = channel_20X;
      Spending_channels_tailS = channel_20X;
      return;}
    else {
      x_23X = Spending_channels_tailS;
      addr_24X = (((char *) (-3 + x_23X))) + 16;S48_WRITE_BARRIER(x_23X, addr_24X, channel_20X);
      *((long *) addr_24X) = (long) (channel_20X);
      Spending_channels_tailS = channel_20X;
      return;}}
  else {
    return;}}
}
static long close_channelB(long channel_25X)
{
  long arg0K0;
  char * addr_33X;
  long status_32X;
  long v_31X;
  long v_30X;
  long v_29X;
  long v_28X;
  long x_27X;
  long os_index_26X;
 {  os_index_26X = (((*((long *) ((((char *) (-3 + channel_25X))) + 8))))>>2);
  x_27X = *((long *) ((((char *) (-3 + channel_25X))) + 20));
  if ((5 == x_27X)) {
    v_28X = ps_abort_fd_op(os_index_26X);enqueue_channelB(os_index_26X, v_28X);
    goto L11188;}
  else {
    goto L11188;}}
 L11188: {
  v_29X = *((long *) (((char *) (-3 + channel_25X))));
  if ((4 == v_29X)) {
    goto L11203;}
  else {
    if ((12 == (*((long *) (((char *) (-3 + channel_25X))))))) {
      goto L11203;}
    else {
      v_30X = ps_close_fd(os_index_26X);
      arg0K0 = v_30X;
      goto L11210;}}}
 L11203: {
  v_31X = ps_close_fd(os_index_26X);
  arg0K0 = v_31X;
  goto L11210;}
 L11210: {
  status_32X = arg0K0;
  *((Svm_channelsS) + os_index_26X) = 1;
  addr_33X = ((char *) (-3 + channel_25X));S48_WRITE_BARRIER(channel_25X, addr_33X, 0);
  *((long *) addr_33X) = (long) (0);
  return status_32X;}
}
static long add_log_entryAgc(long proposal_index_34X, long i_35X, long stob_36X, long index_37X, long value_38X, char verifyP_39X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char * addr_65X;
  long value_64X;
  long value_63X;
  long v_62X;
  char * addr_61X;
  long i_60X;
  long stob_59X;
  long proposal_58X;
  long new_57X;
  char * addr_56X;
  char * addr_55X;
  long value_54X;
  long v_53X;
  long vector_52X;
  char * addr_51X;
  char * addr_50X;
  char * addr_49X;
  long log_48X;
  long value_47X;
  long stob_46X;
  long proposal_45X;
  char * addr_44X;
  long len_43X;
  long new_size_42X;
  long log_size_41X;
  long proposal_40X;
 {  proposal_40X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  log_size_41X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + proposal_40X))) + (((proposal_index_34X)<<2)))))))) + -4))))>>8))))>>2);
  if ((i_35X == (-1 + log_size_41X))) {
    Stemp0S = stob_36X;
    Stemp1S = value_38X;
    if ((1 == log_size_41X)) {
      arg0K0 = 17;
      goto L9639;}
    else {
      arg0K0 = (-1 + (((log_size_41X)<<1)));
      goto L9639;}}
  else {
    arg0K0 = proposal_40X;
    arg0K1 = stob_36X;
    arg0K2 = value_38X;
    goto L13128;}}
 L9639: {
  new_size_42X = arg0K0;
  len_43X = ((new_size_42X)<<2);
  addr_44X = s48_allocate_tracedAgc((4 + len_43X));
  if ((addr_44X == NULL)) {
    arg0K0 = 1;
    goto L9685;}
  else {
    *((long *) addr_44X) = (long) ((10 + (((len_43X)<<8))));
    arg0K0 = (3 + (((long) (addr_44X + 4))));
    goto L9685;}}
 L13128: {
  proposal_45X = arg0K0;
  stob_46X = arg0K1;
  value_47X = arg0K2;
  log_48X = *((long *) ((((char *) (-3 + proposal_45X))) + (((proposal_index_34X)<<2))));
  addr_49X = (((char *) (-3 + log_48X))) + (((i_35X)<<2));S48_WRITE_BARRIER(log_48X, addr_49X, stob_46X);
  *((long *) addr_49X) = (long) (stob_46X);
  addr_50X = (((char *) (-3 + log_48X))) + (4 + (((i_35X)<<2)));S48_WRITE_BARRIER(log_48X, addr_50X, index_37X);
  *((long *) addr_50X) = (long) (index_37X);
  addr_51X = (((char *) (-3 + log_48X))) + (8 + (((i_35X)<<2)));S48_WRITE_BARRIER(log_48X, addr_51X, value_47X);
  *((long *) addr_51X) = (long) (value_47X);
  if (verifyP_39X) {
    arg0K0 = value_47X;
    goto L13149;}
  else {
    arg0K0 = 29;
    goto L13149;}}
 L9685: {
  vector_52X = arg0K0;
  if ((1 == vector_52X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_53X;
    goto L9643;}
  else {
    arg0K0 = vector_52X;
    goto L9643;}}
 L13149: {
  value_54X = arg0K0;
  addr_55X = (((char *) (-3 + log_48X))) + (12 + (((i_35X)<<2)));S48_WRITE_BARRIER(log_48X, addr_55X, value_54X);
  *((long *) addr_55X) = (long) (value_54X);
  addr_56X = (((char *) (-3 + log_48X))) + (16 + (((i_35X)<<2)));S48_WRITE_BARRIER(log_48X, addr_56X, 1);
  *((long *) addr_56X) = (long) (1);
  return value_47X;}
 L9643: {
  new_57X = arg0K0;
  proposal_58X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 < log_size_41X)) {
    stob_59X = *((long *) ((((char *) (-3 + proposal_58X))) + 4));
    memcpy((void *)(((char *) (-3 + new_57X))), (void *)(((char *) (-3 + stob_59X))),(-4 + (((log_size_41X)<<2))));
    goto L9663;}
  else {
    goto L9663;}}
 L9663: {
  arg0K0 = (4 + log_size_41X);
  goto L9667;}
 L9667: {
  i_60X = arg0K0;
  if ((i_60X == new_size_42X)) {
    addr_61X = (((char *) (-3 + proposal_58X))) + (((proposal_index_34X)<<2));S48_WRITE_BARRIER(proposal_58X, addr_61X, new_57X);
    *((long *) addr_61X) = (long) (new_57X);
    v_62X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
    value_63X = Stemp1S;
    Stemp1S = 1;
    value_64X = Stemp0S;
    Stemp0S = 1;
    arg0K0 = v_62X;
    arg0K1 = value_64X;
    arg0K2 = value_63X;
    goto L13128;}
  else {
    addr_65X = (((char *) (-3 + new_57X))) + (((i_60X)<<2));S48_WRITE_BARRIER(new_57X, addr_65X, 0);
    *((long *) addr_65X) = (long) (0);
    arg0K0 = (1 + i_60X);
    goto L9667;}}
}
static long enter_bignum(char * external_bignum_66X)
{
  long desc_67X;
 {  desc_67X = 3 + (((long) external_bignum_66X));
  if ((3 == (3 & desc_67X))) {
    if ((20 == (31 & ((((*((long *) ((((char *) (-3 + desc_67X))) + -4))))>>2))))) {
      goto L13879;}
    else {
      goto L13893;}}
  else {
    goto L13893;}}
 L13879: {
  if ((3 == (3 & desc_67X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + desc_67X))) + -4)))))) {
      *((long *) ((((char *) (-3 + desc_67X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + desc_67X))) + -4)))));
      return desc_67X;}
    else {
      return desc_67X;}}
  else {
    return desc_67X;}}
 L13893: {
  ps_error("not a bignum", 1, desc_67X);
  goto L13879;}
}
static long enter_stringAgc(char *string_68X)
{
  long arg0K0;
  long i_73X;
  long string_72X;
  char * addr_71X;
  long len_70X;
  long z_69X;
 {  z_69X = strlen((char *) string_68X);s48_make_availableAgc((4 + (-4 & (4 + z_69X))));
  len_70X = 1 + z_69X;
  addr_71X = s48_allocate_small((4 + len_70X));
  *((long *) addr_71X) = (long) ((70 + (((len_70X)<<8))));
  string_72X = 3 + (((long) (addr_71X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_72X))) + z_69X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L15039;}
 L15039: {
  i_73X = arg0K0;
  if ((i_73X == z_69X)) {
    return string_72X;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_72X))) + i_73X)) = (unsigned char) ((((unsigned char) (*(string_68X + i_73X)))));
    arg0K0 = (1 + i_73X);
    goto L15039;}}
}
static long current_code_vector(void)
{
  long arg0K0;
  long x_86X;
  long v_85X;
  long x_84X;
  long header_83X;
  char * start_82X;
  char * code_pointer_81X;
  long code_80X;
  char * pointer_79X;
  char * code_pointer_78X;
  long header_77X;
  char * start_76X;
  long code_75X;
  char * code_pointer_74X;
 {  code_pointer_74X = Scode_pointerS;
  code_75X = Slast_code_calledS;
  start_76X = ((char *) (-3 + code_75X));
  if ((code_pointer_74X < start_76X)) {
    goto L16306;}
  else {
    header_77X = *((long *) ((((char *) (-3 + code_75X))) + -4));
    if ((3 == (3 & header_77X))) {
      arg0K0 = header_77X;
      goto L16327;}
    else {
      arg0K0 = code_75X;
      goto L16327;}}}
 L16306: {
  code_pointer_78X = Slast_code_pointer_resumedS;
  pointer_79X = code_pointer_78X + -5;
  code_80X = 3 + (((long) (code_pointer_78X + (0 - (((((*((unsigned char *) pointer_79X)))<<8)) + (*((unsigned char *) (pointer_79X + 1))))))));
  code_pointer_81X = Scode_pointerS;
  start_82X = ((char *) (-3 + code_80X));
  if ((code_pointer_81X < start_82X)) {
    goto L16314;}
  else {
    header_83X = *((long *) ((((char *) (-3 + code_80X))) + -4));
    if ((3 == (3 & header_83X))) {
      arg0K0 = header_83X;
      goto L16348;}
    else {
      arg0K0 = code_80X;
      goto L16348;}}}
 L16327: {
  x_84X = arg0K0;
  if ((code_pointer_74X < (start_76X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_84X))) + -4))))>>8))))) {
    return (Slast_code_calledS);}
  else {
    goto L16306;}}
 L16314: {
  ps_error("VM error: unable to locate current code vector", 0);
  return v_85X;}
 L16348: {
  x_86X = arg0K0;
  if ((code_pointer_81X < (start_82X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_86X))) + -4))))>>8))))) {
    return code_80X;}
  else {
    goto L16314;}}
}
static long channel_close_error(long status_87X, long index_88X, long id_89X)
{
  long v_90X;
 {  ps_write_string("Error: ", (stderr));
  ps_write_string((ps_error_string(status_87X)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  ps_write_string(" while closing port ", (stderr));
  if ((3 == (3 & id_89X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + id_89X))) + -4))))>>2))))) {
      ps_write_string((((char *)(((char *) (-3 + id_89X))))), (stderr));
      goto L16702;}
    else {
      goto L16696;}}
  else {
    goto L16696;}}
 L16702: {
  PS_WRITE_CHAR(10, (stderr), v_90X)
  return v_90X;}
 L16696: {
  ps_write_integer((((index_88X)>>2)), (stderr));
  goto L16702;}
}
static long make_registered_channel(long mode_91X, long id_92X, long os_index_93X, long close_silentlyP_94X, long key_95X, long *TT0)
{
  long x_99X;
  char * addr_98X;
  char x_97X;
  char temp_96X;
 {  temp_96X = os_index_93X < (Snumber_of_channelsS);
  if (temp_96X) {
    goto L18310;}
  else {
    x_97X = add_more_channels(os_index_93X);
    if (x_97X) {
      goto L18310;}
    else {
      *TT0 = 9;
      return 1;}}}
 L18310: {
  if ((1 == (*((Svm_channelsS) + os_index_93X)))) {
    addr_98X = s48_allocate_small(28);
    *((long *) addr_98X) = (long) (6170);
    x_99X = 3 + (((long) (addr_98X + 4)));
    *((long *) (((char *) (-3 + x_99X)))) = (long) ((((mode_91X)<<2)));
    *((long *) ((((char *) (-3 + x_99X))) + 4)) = (long) (id_92X);
    *((long *) ((((char *) (-3 + x_99X))) + 8)) = (long) ((((os_index_93X)<<2)));
    *((long *) ((((char *) (-3 + x_99X))) + 12)) = (long) (close_silentlyP_94X);
    *((long *) ((((char *) (-3 + x_99X))) + 16)) = (long) (1);
    *((long *) ((((char *) (-3 + x_99X))) + 20)) = (long) (1);
    *((Svm_channelsS) + os_index_93X) = x_99X;
    *TT0 = 9;
    return x_99X;}
  else {
    *TT0 = 11;
    return 1;}}
}
static long really_preserve_continuation(long key_100X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  char * next_113X;
  long pc_112X;
  char * pointer_111X;
  char * pointer_110X;
  long new_109X;
  char * addr_108X;
  long len_107X;
  long size_106X;
  long size_105X;
  char * pointer_104X;
  long previous_103X;
  char * cont_102X;
  long temp_101X;
 {  if (((ScontS) == (Sbottom_of_stackS))) {
    goto L20218;}
  else {
    temp_101X = Sheap_continuationS;
    arg1K0 = (ScontS);
    arg0K1 = 1;
    goto L20188;}}
 L20218: {
  return (Sheap_continuationS);}
 L20188: {
  cont_102X = arg1K0;
  previous_103X = arg0K1;
  if ((cont_102X == (Sbottom_of_stackS))) {
    *((long *) ((((char *) (-3 + previous_103X))) + 8)) = (long) (temp_101X);
    ScontS = (Sbottom_of_stackS);
    goto L20218;}
  else {
    pointer_104X = (((char *) (*((long *) cont_102X)))) + -2;
    size_105X = ((((*((unsigned char *) pointer_104X)))<<8)) + (*((unsigned char *) (pointer_104X + 1)));
    if ((65535 == size_105X)) {
      arg0K0 = ((((*((long *) (cont_102X + 4))))>>2));
      goto L18385;}
    else {
      arg0K0 = size_105X;
      goto L18385;}}}
 L18385: {
  size_106X = arg0K0;
  len_107X = 12 + (((size_106X)<<2));
  addr_108X = s48_allocate_small((4 + len_107X));
  *((long *) addr_108X) = (long) ((42 + (((len_107X)<<8))));
  new_109X = 3 + (((long) (addr_108X + 4)));
  pointer_110X = ((char *) (*((long *) cont_102X)));
  pointer_111X = pointer_110X + -5;
  pc_112X = ((((*((unsigned char *) pointer_111X)))<<8)) + (*((unsigned char *) (pointer_111X + 1)));
  memcpy((void *)((((char *) (-3 + new_109X))) + 12), (void *)(cont_102X + 4),(((size_106X)<<2)));
  *((long *) (((char *) (-3 + new_109X)))) = (long) ((((pc_112X)<<2)));
  *((long *) ((((char *) (-3 + new_109X))) + 4)) = (long) ((3 + (((long) (pointer_110X + (0 - pc_112X))))));
  next_113X = cont_102X + (4 + (((size_106X)<<2)));
  if ((3 == (3 & previous_103X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + previous_103X))) + -4))))>>2))))) {
      *((long *) ((((char *) (-3 + previous_103X))) + 8)) = (long) (new_109X);
      arg1K0 = next_113X;
      arg0K1 = new_109X;
      goto L20188;}
    else {
      goto L20206;}}
  else {
    goto L20206;}}
 L20206: {
  Sheap_continuationS = new_109X;
  arg1K0 = next_113X;
  arg0K1 = new_109X;
  goto L20188;}
}
static long Hlookup2690(long table_114X, long string_115X, long key_116X)
{
  long arg0K1;
  long arg0K0;
  char * addr_131X;
  long value_130X;
  long link_129X;
  long x_128X;
  char * addr_127X;
  long next_126X;
  long len_125X;
  long s2_124X;
  long foo_123X;
  long bucket_122X;
  long link_121X;
  long index_120X;
  long h_119X;
  long i_118X;
  long n_117X;
 {  n_117X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L21102;}
 L21102: {
  i_118X = arg0K0;
  h_119X = arg0K1;
  if ((i_118X < n_117X)) {
    arg0K0 = (1 + i_118X);
    arg0K1 = (h_119X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_115X))) + i_118X))))))));
    goto L21102;}
  else {
    index_120X = 1023 & h_119X;
    link_121X = *((long *) ((((char *) (-3 + table_114X))) + (((index_120X)<<2))));
    if ((0 == (3 & link_121X))) {
      arg0K0 = (3 + (-4 & link_121X));
      goto L21058;}
    else {
      arg0K0 = link_121X;
      goto L21058;}}}
 L21058: {
  bucket_122X = arg0K0;
  arg0K0 = bucket_122X;
  goto L21064;}
 L21064: {
  foo_123X = arg0K0;
  if ((1 == foo_123X)) {
    if ((3 == (3 & bucket_122X))) {
      arg0K0 = (-4 & bucket_122X);
      goto L21069;}
    else {
      arg0K0 = bucket_122X;
      goto L21069;}}
  else {
    s2_124X = *((long *) (((char *) (-3 + foo_123X))));
    len_125X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8);
    if ((len_125X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_124X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_124X))), (void *)(((char *) (-3 + string_115X))),len_125X)))) {
        return foo_123X;}
      else {
        goto L21084;}}
    else {
      goto L21084;}}}
 L21069: {
  next_126X = arg0K0;
  addr_127X = s48_allocate_small(20);
  *((long *) addr_127X) = (long) (4154);
  x_128X = 3 + (((long) (addr_127X + 4)));
  *((long *) (((char *) (-3 + x_128X)))) = (long) (string_115X);
  *((long *) ((((char *) (-3 + x_128X))) + 4)) = (long) (1);
  *((long *) ((((char *) (-3 + x_128X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_128X))) + 12)) = (long) (next_126X);
  if ((3 == (3 & x_128X))) {
    arg0K0 = (-4 & x_128X);
    goto L21075;}
  else {
    arg0K0 = x_128X;
    goto L21075;}}
 L21084: {
  link_129X = *((long *) ((((char *) (-3 + foo_123X))) + 12));
  if ((0 == (3 & link_129X))) {
    arg0K0 = (3 + (-4 & link_129X));
    goto L21064;}
  else {
    arg0K0 = link_129X;
    goto L21064;}}
 L21075: {
  value_130X = arg0K0;
  addr_131X = (((char *) (-3 + table_114X))) + (((index_120X)<<2));S48_WRITE_BARRIER(table_114X, addr_131X, value_130X);
  *((long *) addr_131X) = (long) (value_130X);
  return x_128X;}
}
static long Hlookup2671(long table_132X, long string_133X, long key_134X)
{
  long arg0K1;
  long arg0K0;
  char * addr_149X;
  long value_148X;
  long link_147X;
  long x_146X;
  char * addr_145X;
  long next_144X;
  long len_143X;
  long s2_142X;
  long foo_141X;
  long bucket_140X;
  long link_139X;
  long index_138X;
  long h_137X;
  long i_136X;
  long n_135X;
 {  n_135X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_133X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L21254;}
 L21254: {
  i_136X = arg0K0;
  h_137X = arg0K1;
  if ((i_136X < n_135X)) {
    arg0K0 = (1 + i_136X);
    arg0K1 = (h_137X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_133X))) + i_136X))))))));
    goto L21254;}
  else {
    index_138X = 1023 & h_137X;
    link_139X = *((long *) ((((char *) (-3 + table_132X))) + (((index_138X)<<2))));
    if ((0 == (3 & link_139X))) {
      arg0K0 = (3 + (-4 & link_139X));
      goto L21210;}
    else {
      arg0K0 = link_139X;
      goto L21210;}}}
 L21210: {
  bucket_140X = arg0K0;
  arg0K0 = bucket_140X;
  goto L21216;}
 L21216: {
  foo_141X = arg0K0;
  if ((1 == foo_141X)) {
    if ((3 == (3 & bucket_140X))) {
      arg0K0 = (-4 & bucket_140X);
      goto L21221;}
    else {
      arg0K0 = bucket_140X;
      goto L21221;}}
  else {
    s2_142X = *((long *) (((char *) (-3 + foo_141X))));
    len_143X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_133X))) + -4))))>>8);
    if ((len_143X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_142X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_142X))), (void *)(((char *) (-3 + string_133X))),len_143X)))) {
        return foo_141X;}
      else {
        goto L21236;}}
    else {
      goto L21236;}}}
 L21221: {
  next_144X = arg0K0;
  addr_145X = s48_allocate_small(20);
  *((long *) addr_145X) = (long) (4154);
  x_146X = 3 + (((long) (addr_145X + 4)));
  *((long *) (((char *) (-3 + x_146X)))) = (long) (string_133X);
  *((long *) ((((char *) (-3 + x_146X))) + 4)) = (long) (5);
  *((long *) ((((char *) (-3 + x_146X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_146X))) + 12)) = (long) (next_144X);
  if ((3 == (3 & x_146X))) {
    arg0K0 = (-4 & x_146X);
    goto L21227;}
  else {
    arg0K0 = x_146X;
    goto L21227;}}
 L21236: {
  link_147X = *((long *) ((((char *) (-3 + foo_141X))) + 12));
  if ((0 == (3 & link_147X))) {
    arg0K0 = (3 + (-4 & link_147X));
    goto L21216;}
  else {
    arg0K0 = link_147X;
    goto L21216;}}
 L21227: {
  value_148X = arg0K0;
  addr_149X = (((char *) (-3 + table_132X))) + (((index_138X)<<2));S48_WRITE_BARRIER(table_132X, addr_149X, value_148X);
  *((long *) addr_149X) = (long) (value_148X);
  return x_146X;}
}
static void HtopD10262(void)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long id_188X;
  long new_187X;
  long status_186X;
  long id_185X;
  long v_184X;
  char v_183X;
  long channel_182X;
  long i_181X;
  char * addr_180X;
  long next_link_179X;
  long new_foo_178X;
  char v_177X;
  char * addr_176X;
  long foo_175X;
  char * addr_174X;
  long l_173X;
  long v_172X;
  long okay_link_171X;
  long foo_link_170X;
  char * addr_169X;
  char * addr_168X;
  char * addr_167X;
  char * addr_166X;
  long val_165X;
  char tracedP_164X;
  long next_163X;
  long thing_162X;
  long pair_161X;
  long alist_160X;
  long l2_159X;
  long goners_158X;
  long okay_157X;
  long alist_156X;
  long foo_link_155X;
  long v_154X;
  long pc_153X;
  long code_152X;
  long i_151X;
  long table_150X;
 {  table_150X = s48_trace_value((Sthe_symbol_tableS));
  arg0K0 = 0;
  goto L22210;}
 L22210: {
  i_151X = arg0K0;
  if ((1024 == i_151X)) {
    Sthe_symbol_tableS = table_150X;
    code_152X = Slast_code_calledS;
    pc_153X = Ssaved_pcS;
    Slast_code_calledS = code_152X;
    Scode_pointerS = ((((char *) (-3 + code_152X))) + pc_153X);
    Slast_code_pointer_resumedS = (Scode_pointerS);
    v_154X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_154X;
    arg0K1 = 25;
    arg0K2 = 25;
    goto L10775;}
  else {
    foo_link_155X = *((long *) ((((char *) (-3 + table_150X))) + (((i_151X)<<2))));
    arg0K0 = foo_link_155X;
    arg0K1 = 1;
    goto L14334;}}
 L10775: {
  alist_156X = arg0K0;
  okay_157X = arg0K1;
  goners_158X = arg0K2;
  if ((25 == alist_156X)) {SHARED_SETB((Sfinalizer_alistS), okay_157X);
    l2_159X = Sfinalize_theseS;
    if ((25 == goners_158X)) {
      arg0K0 = l2_159X;
      goto L10782;}
    else {
      arg0K0 = goners_158X;
      goto L10837;}}
  else {
    alist_160X = s48_trace_value(alist_156X);
    pair_161X = s48_trace_value((*((long *) (((char *) (-3 + alist_160X))))));
    thing_162X = *((long *) (((char *) (-3 + pair_161X))));
    next_163X = *((long *) ((((char *) (-3 + alist_160X))) + 4));
    tracedP_164X = s48_extantP(thing_162X);
    val_165X = s48_trace_value(thing_162X);
    addr_166X = ((char *) (-3 + pair_161X));S48_WRITE_BARRIER(pair_161X, addr_166X, val_165X);
    *((long *) addr_166X) = (long) (val_165X);
    addr_167X = ((char *) (-3 + alist_160X));S48_WRITE_BARRIER(alist_160X, addr_167X, pair_161X);
    *((long *) addr_167X) = (long) (pair_161X);
    if (tracedP_164X) {
      addr_168X = (((char *) (-3 + alist_160X))) + 4;S48_WRITE_BARRIER(alist_160X, addr_168X, okay_157X);
      *((long *) addr_168X) = (long) (okay_157X);
      arg0K0 = next_163X;
      arg0K1 = alist_160X;
      arg0K2 = goners_158X;
      goto L10775;}
    else {
      addr_169X = (((char *) (-3 + alist_160X))) + 4;S48_WRITE_BARRIER(alist_160X, addr_169X, goners_158X);
      *((long *) addr_169X) = (long) (goners_158X);
      arg0K0 = next_163X;
      arg0K1 = okay_157X;
      arg0K2 = alist_160X;
      goto L10775;}}}
 L14334: {
  foo_link_170X = arg0K0;
  okay_link_171X = arg0K1;
  if ((0 == (3 & foo_link_170X))) {
    arg0K0 = (3 + (-4 & foo_link_170X));
    goto L14336;}
  else {
    arg0K0 = foo_link_170X;
    goto L14336;}}
 L10782: {
  v_172X = arg0K0;
  Sfinalize_theseS = v_172X;
  arg0K0 = 0;
  goto L20651;}
 L10837: {
  l_173X = arg0K0;
  if ((25 == (*((long *) ((((char *) (-3 + l_173X))) + 4))))) {
    addr_174X = (((char *) (-3 + l_173X))) + 4;S48_WRITE_BARRIER(l_173X, addr_174X, l2_159X);
    *((long *) addr_174X) = (long) (l2_159X);
    arg0K0 = goners_158X;
    goto L10782;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_173X))) + 4)));
    goto L10837;}}
 L14336: {
  foo_175X = arg0K0;
  if ((1 == foo_175X)) {
    addr_176X = (((char *) (-3 + table_150X))) + (((i_151X)<<2));S48_WRITE_BARRIER(table_150X, addr_176X, okay_link_171X);
    *((long *) addr_176X) = (long) (okay_link_171X);
    arg0K0 = (1 + i_151X);
    goto L22210;}
  else {
    v_177X = s48_extantP(foo_175X);
    if (v_177X) {
      new_foo_178X = s48_trace_value(foo_175X);
      next_link_179X = *((long *) ((((char *) (-3 + new_foo_178X))) + 4));
      addr_180X = (((char *) (-3 + new_foo_178X))) + 4;S48_WRITE_BARRIER(new_foo_178X, addr_180X, okay_link_171X);
      *((long *) addr_180X) = (long) (okay_link_171X);
      if ((3 == (3 & new_foo_178X))) {
        arg0K0 = next_link_179X;
        arg0K1 = (-4 & new_foo_178X);
        goto L14334;}
      else {
        arg0K0 = next_link_179X;
        arg0K1 = new_foo_178X;
        goto L14334;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + foo_175X))) + 4)));
      arg0K1 = okay_link_171X;
      goto L14334;}}}
 L20651: {
  i_181X = arg0K0;
  if ((i_181X == (Snumber_of_channelsS))) {
    Spending_interruptsS = (4 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        return;}
      else {
        return;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      return;}}
  else {
    channel_182X = *((Svm_channelsS) + i_181X);
    if ((1 == channel_182X)) {
      goto L20685;}
    else {
      v_183X = s48_extantP(channel_182X);
      if (v_183X) {
        v_184X = s48_trace_value(channel_182X);
        arg0K0 = v_184X;
        goto L20678;}
      else {
        if ((0 == (*((long *) (((char *) (-3 + channel_182X))))))) {
          arg0K0 = 1;
          goto L20678;}
        else {
          id_185X = *((long *) ((((char *) (-3 + channel_182X))) + 4));
          status_186X = close_channelB(channel_182X);
          if ((status_186X == NO_ERRORS)) {
            goto L20709;}
          else {channel_close_error(status_186X, (*((long *) ((((char *) (-3 + channel_182X))) + 8))), id_185X);
            goto L20709;}}}}}}
 L20685: {
  arg0K0 = (1 + i_181X);
  goto L20651;}
 L20678: {
  new_187X = arg0K0;
  *((Svm_channelsS) + i_181X) = new_187X;
  goto L20685;}
 L20709: {
  if ((1 == (*((long *) ((((char *) (-3 + channel_182X))) + 12))))) {
    id_188X = *((long *) ((((char *) (-3 + channel_182X))) + 4));
    ps_write_string("Channel closed: ", (stderr));
    if ((0 == (3 & id_188X))) {
      ps_write_integer((((id_188X)>>2)), (stderr));
      goto L8913;}
    else {
      ps_write_string((((char *)(((char *) (-3 + id_188X))))), (stderr));
      goto L8913;}}
  else {
    arg0K0 = 1;
    goto L20678;}}
 L8913: {
  ps_write_string(" ", (stderr));
  ps_write_integer(((((*((long *) ((((char *) (-3 + channel_182X))) + 8))))>>2)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  arg0K0 = 1;
  goto L20678;}
}
static void HtopD10273(void)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K0;

  int Hentry_tracer855189_return_tag;
  long Hentry_tracer8551890_return_value;
  long foo_link_190X;
  char * addr_261X;
  long next_link_260X;
  long new_foo_259X;
  long foo_258X;
  long done_link_257X;
  long foo_link_256X;
  long v_255X;
  long size_254X;
  char * pointer_253X;
  long v_252X;
  long v_251X;
  long v_250X;
  long cells_249X;
  long size_248X;
  char * pointer_247X;
  char * contents_pointer_246X;
  long new_code_245X;
  long mask_size_244X;
  char * code_pointer_243X;
  long pc_242X;
  char * pointer_241X;
  char * pointer_240X;
  char * cont_239X;
  long unused_238X;
  char * a_237X;
  char * addr_236X;
  long val_235X;
  char * addr_234X;
  long val_233X;
  long channel_232X;
  long i_231X;
  char x_230X;
  long pair_229X;
  long v_228X;
  long v_227X;
  long alist_226X;
  char * addr_225X;
  long value_224X;
  long v_223X;
  long v_222X;
  long v_221X;
  long v_220X;
  long v_219X;
  long v_218X;
  long v_217X;
  long v_216X;
  long v_215X;
  long v_214X;
  long v_213X;
  long v_212X;
  long v_211X;
  long v_210X;
  long v_209X;
  long v_208X;
  long v_207X;
  long code_206X;
  long i_205X;
  char * addr_204X;
  long value_203X;
  long table_202X;
  long i_201X;
  long x2_200X;
  char * cell_199X;
  long i_198X;
  long x2_197X;
  char * cell_196X;
  long table_195X;
  char * frame_194X;
  long length_193X;
  char * frame_192X;
  long v_191X;
 {  v_191X = s48_trace_value((Sempty_logS));
  Sempty_logS = v_191X;
  arg1K0 = (Sexternal_root_stackS);
  goto L7626;}
 L7626: {
  frame_192X = arg1K0;
  if ((frame_192X == NULL)) {
    arg1K0 = (Spermanent_external_rootsS);
    goto L7652;}
  else {
    length_193X = *((long *) frame_192X);
    arg0K0 = 0;
    goto L7634;}}
 L7652: {
  frame_194X = arg1K0;
  if ((frame_194X == NULL)) {s48_initializing_gc_root();
    table_195X = s48_trace_value((Simported_bindingsS));
    arg0K0 = 0;
    goto L20019;}
  else {
    cell_196X = ((char *) (*((long *) (frame_194X + 4))));
    x2_197X = s48_trace_value((*((long *) cell_196X)));
    *((long *) cell_196X) = (long) (x2_197X);
    arg1K0 = (((char *) (*((long *) frame_194X))));
    goto L7652;}}
 L7634: {
  i_198X = arg0K0;
  if ((i_198X == length_193X)) {
    arg1K0 = (((char *) (*((long *) (frame_192X + 4)))));
    goto L7626;}
  else {
    cell_199X = ((char *) (*((long *) (frame_192X + (8 + (((i_198X)<<2)))))));
    x2_200X = s48_trace_value((*((long *) cell_199X)));
    *((long *) cell_199X) = (long) (x2_200X);
    arg0K0 = (1 + i_198X);
    goto L7634;}}
 L20019: {
  i_201X = arg0K0;
  if ((1024 == i_201X)) {
    Simported_bindingsS = table_195X;
    table_202X = s48_trace_value((Sexported_bindingsS));
    arg0K0 = 0;
    goto L20040;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_195X))) + (((i_201X)<<2)))));
    Hentry_tracer855189_return_tag = 0;
    goto Hentry_tracer855189;
   Hentry_tracer855189_return_0:
    value_203X = Hentry_tracer8551890_return_value;
    addr_204X = (((char *) (-3 + table_195X))) + (((i_201X)<<2));S48_WRITE_BARRIER(table_195X, addr_204X, value_203X);
    *((long *) addr_204X) = (long) (value_203X);
    arg0K0 = (1 + i_201X);
    goto L20019;}}
 L20040: {
  i_205X = arg0K0;
  if ((1024 == i_205X)) {
    Sexported_bindingsS = table_202X;
    code_206X = current_code_vector();
    Ssaved_pcS = ((Scode_pointerS) - (((char *) (-3 + code_206X))));
    v_207X = s48_trace_value(code_206X);
    Slast_code_calledS = v_207X;
    v_208X = s48_trace_value((SvalS));
    SvalS = v_208X;
    v_209X = s48_trace_value((Scurrent_threadS));
    Scurrent_threadS = v_209X;
    v_210X = s48_trace_value((Sinterrupt_return_codeS));
    Sinterrupt_return_codeS = v_210X;
    v_211X = s48_trace_value((Sexception_return_codeS));
    Sexception_return_codeS = v_211X;
    v_212X = s48_trace_value((Scall_with_values_return_codeS));
    Scall_with_values_return_codeS = v_212X;
    v_213X = s48_trace_value((Sinterrupted_templateS));
    Sinterrupted_templateS = v_213X;
    v_214X = s48_trace_value((Sos_signal_listS));
    Sos_signal_listS = v_214X;
    v_215X = SHARED_REF((Ssession_dataS));
    v_216X = s48_trace_value(v_215X);SHARED_SETB((Ssession_dataS), v_216X);
    v_217X = SHARED_REF((Sexception_handlersS));
    v_218X = s48_trace_value(v_217X);SHARED_SETB((Sexception_handlersS), v_218X);
    v_219X = SHARED_REF((Sinterrupt_handlersS));
    v_220X = s48_trace_value(v_219X);SHARED_SETB((Sinterrupt_handlersS), v_220X);
    v_221X = SHARED_REF((Sfinalize_theseS));
    v_222X = s48_trace_value(v_221X);SHARED_SETB((Sfinalize_theseS), v_222X);
    v_223X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_223X;
    goto L7692;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_202X))) + (((i_205X)<<2)))));
    Hentry_tracer855189_return_tag = 1;
    goto Hentry_tracer855189;
   Hentry_tracer855189_return_1:
    value_224X = Hentry_tracer8551890_return_value;
    addr_225X = (((char *) (-3 + table_202X))) + (((i_205X)<<2));S48_WRITE_BARRIER(table_202X, addr_225X, value_224X);
    *((long *) addr_225X) = (long) (value_224X);
    arg0K0 = (1 + i_205X);
    goto L20040;}}
 L7692: {
  alist_226X = arg0K0;
  if ((25 == alist_226X)) {
    v_227X = s48_trace_value((Spending_channels_headS));
    Spending_channels_headS = v_227X;
    v_228X = s48_trace_value((Spending_channels_tailS));
    Spending_channels_tailS = v_228X;
    arg0K0 = 0;
    goto L10934;}
  else {
    pair_229X = *((long *) (((char *) (-3 + alist_226X))));
    x_230X = s48_extantP((*((long *) (((char *) (-3 + pair_229X))))));
    if (x_230X) {
      goto L7717;}
    else {s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_229X))))));
      goto L7717;}}}
 L10934: {
  i_231X = arg0K0;
  if ((i_231X == (Snumber_of_channelsS))) {
    if ((Sstack_warningPS)) {
      arg1K0 = (Sstack_beginS);
      goto L5238;}
    else {
      goto L14580;}}
  else {
    channel_232X = *((Svm_channelsS) + i_231X);
    if ((1 == channel_232X)) {
      goto L10962;}
    else {
      if ((0 == (*((long *) (((char *) (-3 + channel_232X))))))) {
        goto L10962;}
      else {
        val_233X = s48_trace_value((*((long *) ((((char *) (-3 + channel_232X))) + 4))));
        addr_234X = (((char *) (-3 + channel_232X))) + 4;S48_WRITE_BARRIER(channel_232X, addr_234X, val_233X);
        *((long *) addr_234X) = (long) (val_233X);
        goto L10962;}}}}
 L7717: {
  val_235X = s48_trace_value((*((long *) ((((char *) (-3 + pair_229X))) + 4))));
  addr_236X = (((char *) (-3 + pair_229X))) + 4;S48_WRITE_BARRIER(pair_229X, addr_236X, val_235X);
  *((long *) addr_236X) = (long) (val_235X);
  arg0K0 = (*((long *) ((((char *) (-3 + alist_226X))) + 4)));
  goto L7692;}
 L5238: {
  a_237X = arg1K0;
  if ((252645135 == (*((long *) a_237X)))) {
    arg1K0 = (a_237X + 4);
    goto L5238;}
  else {
    unused_238X = (((a_237X - (Sstack_beginS)))>>2);
    if ((unused_238X < 30)) {
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      ps_write_string("[Alert: stack overconsumption (", (stderr));
      ps_write_integer(unused_238X, (stderr));
      ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      Sstack_warningPS = 0;
      goto L14580;}
    else {
      goto L14580;}}}
 L14580: {
s48_trace_locationsB((SstackS), ((SstackS) + (-4 & ((ScontS) - (SstackS)))));
  arg1K0 = (ScontS);
  goto L14590;}
 L10962: {
  arg0K0 = (1 + i_231X);
  goto L10934;}
 L14590: {
  cont_239X = arg1K0;
  pointer_240X = ((char *) (*((long *) cont_239X)));
  pointer_241X = pointer_240X + -5;
  pc_242X = ((((*((unsigned char *) pointer_241X)))<<8)) + (*((unsigned char *) (pointer_241X + 1)));
  code_pointer_243X = ((char *) (*((long *) cont_239X)));
  mask_size_244X = *((unsigned char *) (code_pointer_243X + -3));
  new_code_245X = s48_trace_value((3 + (((long) (pointer_240X + (0 - pc_242X))))));
  contents_pointer_246X = cont_239X + 4;
  *((long *) cont_239X) = (long) ((((long) ((((char *) (-3 + new_code_245X))) + pc_242X))));
  if ((0 == mask_size_244X)) {
    pointer_247X = (((char *) (*((long *) cont_239X)))) + -2;
    size_248X = ((((*((unsigned char *) pointer_247X)))<<8)) + (*((unsigned char *) (pointer_247X + 1)));
    if ((65535 == size_248X)) {
      arg0K0 = ((((*((long *) (cont_239X + 4))))>>2));
      goto L12158;}
    else {
      arg0K0 = size_248X;
      goto L12158;}}
  else {s48_trace_continuation_contentsB(contents_pointer_246X, code_pointer_243X, mask_size_244X);
    goto L14600;}}
 L12158: {
  cells_249X = arg0K0;s48_trace_locationsB(contents_pointer_246X, (contents_pointer_246X + (((cells_249X)<<2))));
  goto L14600;}
 L14600: {
  if ((cont_239X == (Sbottom_of_stackS))) {
    v_250X = s48_trace_value((Sheap_continuationS));
    Sheap_continuationS = v_250X;
    v_251X = s48_trace_value((Stemp0S));
    Stemp0S = v_251X;
    v_252X = s48_trace_value((Stemp1S));
    Stemp1S = v_252X;
    return;}
  else {
    pointer_253X = (((char *) (*((long *) cont_239X)))) + -2;
    size_254X = ((((*((unsigned char *) pointer_253X)))<<8)) + (*((unsigned char *) (pointer_253X + 1)));
    if ((65535 == size_254X)) {
      arg0K0 = ((((*((long *) (cont_239X + 4))))>>2));
      goto L14638;}
    else {
      arg0K0 = size_254X;
      goto L14638;}}}
 L14638: {
  v_255X = arg0K0;
  arg1K0 = (cont_239X + (4 + (((v_255X)<<2))));
  goto L14590;}
 Hentry_tracer855189: {
  foo_link_190X = merged_arg0K0;{
  arg0K0 = foo_link_190X;
  arg0K1 = 1;
  goto L14406;}
 L14406: {
  foo_link_256X = arg0K0;
  done_link_257X = arg0K1;
  if ((0 == (3 & foo_link_256X))) {
    arg0K0 = (3 + (-4 & foo_link_256X));
    goto L14408;}
  else {
    arg0K0 = foo_link_256X;
    goto L14408;}}
 L14408: {
  foo_258X = arg0K0;
  if ((1 == foo_258X)) {
    Hentry_tracer8551890_return_value = done_link_257X;
    goto Hentry_tracer855189_return;}
  else {
    new_foo_259X = s48_trace_value(foo_258X);
    next_link_260X = *((long *) ((((char *) (-3 + new_foo_259X))) + 12));
    addr_261X = (((char *) (-3 + new_foo_259X))) + 12;S48_WRITE_BARRIER(new_foo_259X, addr_261X, done_link_257X);
    *((long *) addr_261X) = (long) (done_link_257X);
    if ((3 == (3 & new_foo_259X))) {
      arg0K0 = next_link_260X;
      arg0K1 = (-4 & new_foo_259X);
      goto L14406;}
    else {
      arg0K0 = next_link_260X;
      arg0K1 = new_foo_259X;
      goto L14406;}}}
 Hentry_tracer855189_return:
  switch (Hentry_tracer855189_return_tag) {
  case 0: goto Hentry_tracer855189_return_0;
  default: goto Hentry_tracer855189_return_1;
  }}

}
void s48_set_native_protocolB(long protocol_262X)
{

 {  s48_Snative_protocolS = protocol_262X;
  return;}
}
void s48_set_extension_valueB(long value_263X)
{

 {  s48_Sextension_valueS = value_263X;
  return;}
}
long s48_channel_count(void)
{

 {  return (Snumber_of_channelsS);}
}
long *s48_channels(void)
{

 {  return (Svm_channelsS);}
}
void s48_reset_interruptsB(void)
{

 {  Sos_signal_listS = 25;
  Senabled_interruptsS = 0;
  Spending_interruptsS = 0;
  s48_Spending_interruptPS = 0;
  return;}
}
long s48_imported_bindings(void)
{

 {  return (Simported_bindingsS);}
}
long s48_exported_bindings(void)
{

 {  return (Sexported_bindingsS);}
}
long s48_symbol_table(void)
{

 {  return (Sthe_symbol_tableS);}
}
char * s48_set_gc_roots_baseB(void)
{
  char * old_base_264X;
 {  old_base_264X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = (Sexternal_root_stackS);
  return old_base_264X;}
}
char s48_release_gc_roots_baseB(char * old_base_265X)
{
  char * current_base_266X;
 {  current_base_266X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = old_base_265X;
  if (((Sexternal_root_stackS) == current_base_266X)) {
    return 1;}
  else {
    Sexternal_root_stackS = current_base_266X;
    return 0;}}
}
void s48_reset_external_rootsB(void)
{

 {  Sexternal_root_stackS = NULL;
  Sexternal_root_stack_baseS = NULL;
  Spermanent_external_rootsS = NULL;
  return;}
}
void s48_note_event(void)
{

 {  s48_Spending_eventsPS = 1;
  s48_Sstack_limitS = (((char *) -1));
  return;}
}
void s48_disable_interruptsB(void)
{

 {  s48_Spending_interruptPS = 0;
  Senabled_interruptsS = 0;
  return;}
}
void s48_push_gc_rootsB(char * frame_267X, long n_268X)
{

 {  *((long *) frame_267X) = (long) (n_268X);
  *((long *) (frame_267X + 4)) = (long) ((((long) (Sexternal_root_stackS))));
  Sexternal_root_stackS = frame_267X;
  return;}
}
void s48_register_gc_rootB(char * loc_addr_269X)
{
  char * frame_270X;
 {  frame_270X = (char *)malloc(8);
  if ((frame_270X == NULL)) {
    ps_error("out of memory registering a global root", 0);
    goto L3872;}
  else {
    goto L3872;}}
 L3872: {
  *((long *) frame_270X) = (long) ((((long) (Spermanent_external_rootsS))));
  *((long *) (frame_270X + 4)) = (long) ((((long) loc_addr_269X)));
  Spermanent_external_rootsS = frame_270X;
  return;}
}
void s48_stack_setB(long x_271X, long value_272X)
{

 {  *((long *) ((SstackS) + (((x_271X)<<2)))) = (long) (value_272X);
  return;}
}
long s48_stack_ref(long i_273X)
{

 {  return (*((long *) ((SstackS) + (((i_273X)<<2)))));}
}
void s48_push(long x_274X)
{

 {  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_274X);
  return;}
}
long s48_resetup_external_exception(long new_why_275X, long additional_nargs_276X)
{
  long old_why_278X;
  long old_nargs_277X;
 {  old_nargs_277X = Sexternal_exception_nargsS;
  old_why_278X = *((long *) ((SstackS) + (((old_nargs_277X)<<2))));
  *((long *) ((SstackS) + (((old_nargs_277X)<<2)))) = (long) ((((new_why_275X)<<2)));
  Sexternal_exception_nargsS = (old_nargs_277X + additional_nargs_276X);
  return old_why_278X;}
}
char s48_pop_gc_rootsB(void)
{

 {  if (((Sexternal_root_stackS) == (Sexternal_root_stack_baseS))) {
    return 0;}
  else {
    Sexternal_root_stackS = (((char *) (*((long *) ((Sexternal_root_stackS) + 4)))));
    return 1;}}
}
char * s48_shorten_bignum(char * external_bignum_279X, long number_of_digits_280X)
{
  long waste_size_285X;
  long old_data_size_284X;
  long new_data_size_283X;
  long new_size_282X;
  long bignum_281X;
 {  bignum_281X = 3 + (((long) external_bignum_279X));
  new_size_282X = 4 + (-4 & (7 + (((number_of_digits_280X)<<2))));
  new_data_size_283X = -4 + new_size_282X;
  old_data_size_284X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + bignum_281X))) + -4))))>>8);
  waste_size_285X = old_data_size_284X - new_data_size_283X;
  if ((waste_size_285X < 0)) {
    ps_error("shorten bignum", 2, new_data_size_283X, old_data_size_284X);
    goto L7024;}
  else {
    goto L7024;}}
 L7024: {
  if ((waste_size_285X < 4)) {
    return external_bignum_279X;}
  else {
    *((long *) ((((char *) (-3 + bignum_281X))) + -4)) = (long) ((82 + (((new_data_size_283X)<<8))));
    *((long *) ((((char *) (((long) ((((char *) (-3 + bignum_281X))) + (-4 & (3 + new_size_282X))))))) + -4)) = (long) ((-942 + (((waste_size_285X)<<8))));
    return external_bignum_279X;}}
}
long s48_allocate_bignum(long size_286X)
{
  char * addr_287X;
 {  addr_287X = s48_allocate_small((4 + size_286X));
  *((long *) addr_287X) = (long) ((82 + (((size_286X)<<8))));
  return (3 + (((long) (addr_287X + 4))));}
}
void s48_enable_interruptsB(void)
{

 {  Senabled_interruptsS = -1;
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      return;}
    else {
      return;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    return;}}
}
void s48_set_os_signals(long signal_list_288X)
{
  long arg0K0;
  char * addr_292X;
  long l_291X;
  long v_290X;
  long l1_289X;
 {  l1_289X = Sos_signal_listS;
  if ((25 == l1_289X)) {
    arg0K0 = signal_list_288X;
    goto L10905;}
  else {
    arg0K0 = l1_289X;
    goto L10916;}}
 L10905: {
  v_290X = arg0K0;
  Sos_signal_listS = v_290X;
  return;}
 L10916: {
  l_291X = arg0K0;
  if ((25 == (*((long *) ((((char *) (-3 + l_291X))) + 4))))) {
    addr_292X = (((char *) (-3 + l_291X))) + 4;S48_WRITE_BARRIER(l_291X, addr_292X, signal_list_288X);
    *((long *) addr_292X) = (long) (signal_list_288X);
    arg0K0 = l1_289X;
    goto L10905;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_291X))) + 4)));
    goto L10916;}}
}
long s48_set_channel_os_index(long channel_293X, long os_index_294X)
{
  char * addr_301X;
  long val_300X;
  long v_299X;
  long x_298X;
  long old_index_297X;
  char x_296X;
  char temp_295X;
 {  temp_295X = os_index_294X < (Snumber_of_channelsS);
  if (temp_295X) {
    goto L11093;}
  else {
    x_296X = add_more_channels(os_index_294X);
    if (x_296X) {
      goto L11093;}
    else {
      return 36;}}}
 L11093: {
  if ((1 == (*((Svm_channelsS) + os_index_294X)))) {
    old_index_297X = (((*((long *) ((((char *) (-3 + channel_293X))) + 8))))>>2);
    x_298X = *((long *) ((((char *) (-3 + channel_293X))) + 20));
    if ((5 == x_298X)) {
      v_299X = ps_abort_fd_op(old_index_297X);enqueue_channelB(old_index_297X, v_299X);
      goto L11079;}
    else {
      goto L11079;}}
  else {
    return 44;}}
 L11079: {
  *((Svm_channelsS) + old_index_297X) = 1;
  *((Svm_channelsS) + os_index_294X) = channel_293X;
  val_300X = ((os_index_294X)<<2);
  addr_301X = (((char *) (-3 + channel_293X))) + 8;S48_WRITE_BARRIER(channel_293X, addr_301X, val_300X);
  *((long *) addr_301X) = (long) (val_300X);
  return 5;}
}
void s48_close_channel(long os_index_302X)
{
  long obj_303X;
 {  if ((os_index_302X < 0)) {
    return;}
  else {
    if ((os_index_302X < (Snumber_of_channelsS))) {
      obj_303X = *((Svm_channelsS) + os_index_302X);
      if ((3 == (3 & obj_303X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_303X))) + -4))))>>2))))) {close_channelB((*((Svm_channelsS) + os_index_302X)));
          return;}
        else {
          return;}}
      else {
        return;}}
    else {
      return;}}}
}
char s48_warn_about_undefined_imported_bindings(void)
{
  long arg0K0;
  long link_311X;
  long name_310X;
  long entry_309X;
  long link_308X;
  char temp_307X;
  long i_306X;
  long table_305X;
  FILE * out_304X;
 {  out_304X = stderr;
  table_305X = Simported_bindingsS;
  arg0K0 = 0;
  goto L17597;}
 L17597: {
  i_306X = arg0K0;
  temp_307X = 1024 == i_306X;
  if (temp_307X) {
    return temp_307X;}
  else {
    link_308X = *((long *) ((((char *) (-3 + table_305X))) + (((i_306X)<<2))));
    if ((0 == (3 & link_308X))) {
      arg0K0 = (3 + (-4 & link_308X));
      goto L17571;}
    else {
      arg0K0 = link_308X;
      goto L17571;}}}
 L17571: {
  entry_309X = arg0K0;
  if ((1 == entry_309X)) {
    arg0K0 = (1 + i_306X);
    goto L17597;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + entry_309X))) + 8)))))) {
      name_310X = *((long *) (((char *) (-3 + entry_309X))));
      ps_write_string("undefined imported name ", out_304X);
      if ((3 == (3 & name_310X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + name_310X))) + -4))))>>2))))) {
          ps_write_string((((char *)(((char *) (-3 + name_310X))))), out_304X);
          goto L19930;}
        else {
          goto L19928;}}
      else {
        goto L19928;}}
    else {
      goto L17578;}}}
 L19930: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_304X, ignoreXX) }
  goto L17578;}
 L19928: {
  ps_write_string("<invalid name>", out_304X);
  goto L19930;}
 L17578: {
  link_311X = *((long *) ((((char *) (-3 + entry_309X))) + 12));
  if ((0 == (3 & link_311X))) {
    arg0K0 = (3 + (-4 & link_311X));
    goto L17571;}
  else {
    arg0K0 = link_311X;
    goto L17571;}}
}
void check_stack(void)
{
  char * arg1K0;
  char * arg1K1;
  long arg0K0;
  long v_333X;
  long address_332X;
  long x_331X;
  char * ptr_330X;
  long mask_329X;
  long size_328X;
  char * pointer_327X;
  long address_326X;
  long x_325X;
  char * addr_324X;
  char * trace_ptr_323X;
  char * mask_ptr_322X;
  long v_321X;
  char * mask_pointer_320X;
  long size_319X;
  char * pointer_318X;
  char * contents_pointer_317X;
  long mask_size_316X;
  char * code_pointer_315X;
  char * cont_314X;
  char * v_313X;
  char * v_312X;
 {  v_312X = s48_oldspace_begin();
  Soldspace_beginS = (((long) v_312X));
  v_313X = s48_oldspace_end();
  Soldspace_endS = (((long) v_313X));
  arg1K0 = (ScontS);
  goto L20068;}
 L20068: {
  cont_314X = arg1K0;
  if ((cont_314X == (Sbottom_of_stackS))) {
    return;}
  else {
    code_pointer_315X = ((char *) (*((long *) cont_314X)));
    mask_size_316X = *((unsigned char *) (code_pointer_315X + -3));
    contents_pointer_317X = cont_314X + 4;
    if ((0 == mask_size_316X)) {
      pointer_318X = (((char *) (*((long *) cont_314X)))) + -2;
      size_319X = ((((*((unsigned char *) pointer_318X)))<<8)) + (*((unsigned char *) (pointer_318X + 1)));
      if ((65535 == size_319X)) {
        arg0K0 = ((((*((long *) (cont_314X + 4))))>>2));
        goto L14556;}
      else {
        arg0K0 = size_319X;
        goto L14556;}}
    else {
      mask_pointer_320X = code_pointer_315X + -5;
      arg1K0 = (mask_pointer_320X + (0 - mask_size_316X));
      arg1K1 = contents_pointer_317X;
      goto L5601;}}}
 L14556: {
  v_321X = arg0K0;
  arg1K0 = contents_pointer_317X;
  goto L5534;}
 L5601: {
  mask_ptr_322X = arg1K0;
  trace_ptr_323X = arg1K1;
  if ((mask_ptr_322X == mask_pointer_320X)) {
    goto L17816;}
  else {
    arg0K0 = (*((unsigned char *) mask_ptr_322X));
    arg1K1 = trace_ptr_323X;
    goto L5609;}}
 L5534: {
  addr_324X = arg1K0;
  if ((addr_324X < (cont_314X + (4 + (((v_321X)<<2)))))) {
    x_325X = *((long *) addr_324X);
    if ((2 == (3 & x_325X))) {
      goto L5554;}
    else {
      if ((3 == (3 & x_325X))) {
        address_326X = -3 + x_325X;
        if ((address_326X < (Soldspace_beginS))) {
          goto L5539;}
        else {
          if (((Soldspace_endS) < address_326X)) {
            goto L5539;}
          else {
            goto L5554;}}}
      else {
        goto L5539;}}}
  else {
    goto L17816;}}
 L17816: {
  pointer_327X = (((char *) (*((long *) cont_314X)))) + -2;
  size_328X = ((((*((unsigned char *) pointer_327X)))<<8)) + (*((unsigned char *) (pointer_327X + 1)));
  if ((65535 == size_328X)) {
    arg0K0 = ((((*((long *) (cont_314X + 4))))>>2));
    goto L17821;}
  else {
    arg0K0 = size_328X;
    goto L17821;}}
 L5609: {
  mask_329X = arg0K0;
  ptr_330X = arg1K1;
  if ((0 == mask_329X)) {
    arg1K0 = (mask_ptr_322X + 1);
    arg1K1 = (trace_ptr_323X + 32);
    goto L5601;}
  else {
    if ((1 == (1 & mask_329X))) {
      x_331X = *((long *) ptr_330X);
      if ((2 == (3 & x_331X))) {
        goto L5666;}
      else {
        if ((3 == (3 & x_331X))) {
          address_332X = -3 + x_331X;
          if ((address_332X < (Soldspace_beginS))) {
            goto L5625;}
          else {
            if (((Soldspace_endS) < address_332X)) {
              goto L5625;}
            else {
              goto L5666;}}}
        else {
          goto L5625;}}}
    else {
      goto L5625;}}}
 L5554: {
  ps_error("bad descriptor in stack", 1, x_325X);
  goto L5539;}
 L5539: {
  arg1K0 = (addr_324X + 4);
  goto L5534;}
 L17821: {
  v_333X = arg0K0;
  arg1K0 = (cont_314X + (4 + (((v_333X)<<2))));
  goto L20068;}
 L5666: {
  ps_error("bad descriptor in stack", 1, x_331X);
  goto L5625;}
 L5625: {
  arg0K0 = (((mask_329X)>>1));
  arg1K1 = (ptr_330X + 4);
  goto L5609;}
}
long s48_really_add_channel(long mode_334X, long id_335X, long os_index_336X)
{
  long status_338X;
  long channel_337X;
 {s48_make_availableAgc(28);
  channel_337X = make_registered_channel((((mode_334X)>>2)), id_335X, os_index_336X, 1, 0, &status_338X);
  if ((3 == (3 & channel_337X))) {
    if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_337X))) + -4))))>>2))))) {
      return channel_337X;}
    else {
      goto L20139;}}
  else {
    goto L20139;}}
 L20139: {
  return (((status_338X)<<2));}
}
long s48_enter_integer(long x_339X)
{
  char * v_340X;
 {s48_make_availableAgc(16);
  if ((536870911 < x_339X)) {
    goto L20596;}
  else {
    if ((x_339X < -536870912)) {
      goto L20596;}
    else {
      return (((x_339X)<<2));}}}
 L20596: {
  v_340X = (char *) s48_long_to_bignum(x_339X);
  return enter_bignum(v_340X);}
}
void s48_setup_external_exception(long why_341X, long nargs_342X)
{
  long n_344X;
  long code_343X;
 {  code_343X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_343X)))))<<2)), code_343X, (((why_341X)<<2)), 4);
  n_344X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_344X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((why_341X)<<2)));
  if ((10 < nargs_342X)) {
    ps_error("too many arguments from external exception", 0);
    goto L21513;}
  else {
    goto L21513;}}
 L21513: {
  Sexternal_exception_nargsS = nargs_342X;
  Sexternal_exceptionPS = 1;
  return;}
}
void s48_copy_stack_into_heap(void)
{
  char * arg1K1;
  char * arg1K0;
  char * arg_348X;
  char * loc_347X;
  char * top_346X;
  long arg_count_345X;
 {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  arg_count_345X = ((((ScontS) - (SstackS)))>>2);
  top_346X = SstackS;
  if ((1 == (((long) (ScontS))))) {
    goto L21613;}
  else {really_preserve_continuation(0);
    goto L21613;}}
 L21613: {
  SstackS = (ScontS);
  arg1K0 = ((SstackS) + -4);
  arg1K1 = (top_346X + (-4 + (((arg_count_345X)<<2))));
  goto L21642;}
 L21642: {
  loc_347X = arg1K0;
  arg_348X = arg1K1;
  if ((arg_348X < top_346X)) {
    SstackS = ((SstackS) + (0 - (((arg_count_345X)<<2))));
    return;}
  else {
    *((long *) loc_347X) = (long) ((*((long *) arg_348X)));
    arg1K0 = (loc_347X + -4);
    arg1K1 = (arg_348X + -4);
    goto L21642;}}
}
long s48_get_imported_binding(char *name_349X)
{
  long value_351X;
  long value_350X;
 {  value_350X = enter_stringAgc(name_349X);
  Stemp0S = value_350X;s48_make_availableAgc(20);
  value_351X = Stemp0S;
  Stemp0S = 1;
  return Hlookup2690((Sexported_bindingsS), value_351X, 0);}
}
void s48_define_exported_binding(char *name_352X, long value_353X)
{
  char * addr_358X;
  long x_357X;
  long value_356X;
  long value_355X;
  long name_354X;
 {  Stemp0S = value_353X;
  name_354X = enter_stringAgc(name_352X);
  Stemp1S = name_354X;s48_make_availableAgc(20);
  value_355X = Stemp0S;
  Stemp0S = 1;
  value_356X = Stemp1S;
  Stemp1S = 1;
  x_357X = Hlookup2671((Simported_bindingsS), value_356X, 0);
  addr_358X = (((char *) (-3 + x_357X))) + 8;S48_WRITE_BARRIER(x_357X, addr_358X, value_355X);
  *((long *) addr_358X) = (long) (value_355X);
  return;}
}
void s48_initialize_vm(char * stack_begin_359X, long stack_size_360X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K3;
  long merged_arg0K2;
  long merged_arg0K1;
  long merged_arg0K0;

  int make_hash_tableAgc_return_tag;
  long make_hash_tableAgc0_return_value;
  int make_return_code_return_tag;
  long make_return_code0_return_value;
  long protocol_361X;
  long opcode_362X;
  long size_363X;
  char * addr_407X;
  long i_406X;
  long table_405X;
  long v_404X;
  long vector_403X;
  char * addr_402X;
  long code_401X;
  char * addr_400X;
  char * addr_399X;
  long x_398X;
  long v_397X;
  long v_396X;
  long vector_395X;
  char * addr_394X;
  long v_393X;
  long v_392X;
  long v_391X;
  long code_390X;
  char * a_389X;
  char * addr_388X;
  long value_387X;
  long size_386X;
  char * start_385X;
  char * addr_384X;
  long val_383X;
  long index_382X;
  long h_381X;
  long i_380X;
  char * stack_379X;
  long n_378X;
  long string_377X;
  long foo_376X;
  long table_375X;
  long i_374X;
  long v_373X;
  long v_372X;
  long imported_bindings_371X;
  long exported_bindings_370X;
  long n_369X;
  long symbols_368X;
  long maybe_367X;
  long maybe_366X;
  long v_365X;
  long symbol_table_364X;
 {  symbol_table_364X = s48_initial_symbols();
  if ((symbol_table_364X == 1)) {
    make_hash_tableAgc_return_tag = 0;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_0:
    v_365X = make_hash_tableAgc0_return_value;
    Sthe_symbol_tableS = v_365X;
    maybe_366X = s48_find_all(1);
    if ((maybe_366X == 1)) {s48_collect();
      maybe_367X = s48_find_all(1);
      if ((maybe_367X == 1)) {
        ps_error("insufficient heap space to build symbol table", 0);
        arg0K0 = maybe_367X;
        goto L21693;}
      else {
        arg0K0 = maybe_367X;
        goto L21693;}}
    else {
      arg0K0 = maybe_366X;
      goto L21693;}}
  else {
    Sthe_symbol_tableS = symbol_table_364X;
    goto L22332;}}
 L21693: {
  symbols_368X = arg0K0;
  n_369X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_368X))) + -4))))>>8))))>>2);
  arg0K0 = 0;
  goto L21714;}
 L22332: {
  exported_bindings_370X = s48_initial_exported_bindings();
  imported_bindings_371X = s48_initial_imported_bindings();
  if ((1 == imported_bindings_371X)) {
    make_hash_tableAgc_return_tag = 1;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_1:
    v_372X = make_hash_tableAgc0_return_value;
    Simported_bindingsS = v_372X;
    make_hash_tableAgc_return_tag = 2;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_2:
    v_373X = make_hash_tableAgc0_return_value;
    Sexported_bindingsS = v_373X;
    goto L22338;}
  else {
    Simported_bindingsS = imported_bindings_371X;
    Sexported_bindingsS = exported_bindings_370X;
    goto L22338;}}
 L21714: {
  i_374X = arg0K0;
  if ((i_374X == n_369X)) {
    goto L22332;}
  else {
    table_375X = Sthe_symbol_tableS;
    foo_376X = *((long *) ((((char *) (-3 + symbols_368X))) + (((i_374X)<<2))));
    string_377X = *((long *) (((char *) (-3 + foo_376X))));
    n_378X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_377X))) + -4))))>>8));
    arg0K0 = 0;
    arg0K1 = 0;
    goto L21013;}}
 L22338: {
  if ((stack_size_360X < 8128)) {
    stack_379X = (char *)malloc(32512);
    if ((stack_379X == NULL)) {
      ps_error("out of memory, unable to continue", 0);
      arg1K0 = stack_379X;
      arg0K1 = 8128;
      goto L15122;}
    else {
      arg1K0 = stack_379X;
      arg0K1 = 8128;
      goto L15122;}}
  else {
    arg1K0 = stack_begin_359X;
    arg0K1 = stack_size_360X;
    goto L15122;}}
 L21013: {
  i_380X = arg0K0;
  h_381X = arg0K1;
  if ((i_380X < n_378X)) {
    arg0K0 = (1 + i_380X);
    arg0K1 = (h_381X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_377X))) + i_380X))))))));
    goto L21013;}
  else {
    index_382X = 1023 & h_381X;
    val_383X = *((long *) ((((char *) (-3 + table_375X))) + (((index_382X)<<2))));
    addr_384X = (((char *) (-3 + foo_376X))) + 4;S48_WRITE_BARRIER(foo_376X, addr_384X, val_383X);
    *((long *) addr_384X) = (long) (val_383X);
    if ((3 == (3 & foo_376X))) {
      arg0K0 = (-4 & foo_376X);
      goto L20999;}
    else {
      arg0K0 = foo_376X;
      goto L20999;}}}
 L15122: {
  start_385X = arg1K0;
  size_386X = arg0K1;
  Sstack_beginS = start_385X;
  Sstack_endS = (start_385X + (((size_386X)<<2)));
  Sreal_stack_limitS = ((Sstack_beginS) + 512);
  s48_Sstack_limitS = (Sreal_stack_limitS);
  SstackS = (Sstack_endS);
  ScontS = (((char *) 1));
  arg1K0 = start_385X;
  goto L15152;}
 L20999: {
  value_387X = arg0K0;
  addr_388X = (((char *) (-3 + table_375X))) + (((index_382X)<<2));S48_WRITE_BARRIER(table_375X, addr_388X, value_387X);
  *((long *) addr_388X) = (long) (value_387X);
  arg0K0 = (1 + i_374X);
  goto L21714;}
 L15152: {
  a_389X = arg1K0;
  if ((a_389X == (Sstack_endS))) {s48_make_availableAgc(20);
    merged_arg0K0 = 71;
    merged_arg0K1 = 0;
    merged_arg0K2 = 0;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 0;
    goto make_return_code;
   make_return_code_return_0:
    code_390X = make_return_code0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    ScontS = (SstackS);
    *((long *) (ScontS)) = (long) ((((long) ((((char *) (-3 + code_390X))) + 11))));
    Sbottom_of_stackS = (ScontS);
    Sheap_continuationS = 1;s48_make_availableAgc(60);
    merged_arg0K0 = 66;
    merged_arg0K1 = 150;
    merged_arg0K2 = 65535;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 1;
    goto make_return_code;
   make_return_code_return_1:
    v_391X = make_return_code0_return_value;
    Sinterrupt_return_codeS = v_391X;
    merged_arg0K0 = 1;
    merged_arg0K1 = 147;
    merged_arg0K2 = 65535;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 2;
    goto make_return_code;
   make_return_code_return_2:
    v_392X = make_return_code0_return_value;
    Sexception_return_codeS = v_392X;
    merged_arg0K0 = 70;
    merged_arg0K1 = 0;
    merged_arg0K2 = 1;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 3;
    goto make_return_code;
   make_return_code_return_3:
    v_393X = make_return_code0_return_value;
    Scall_with_values_return_codeS = v_393X;s48_make_availableAgc(32);s48_bignum_make_cached_constants();
    addr_394X = s48_allocate_tracedAgc(8);
    if ((addr_394X == NULL)) {
      arg0K0 = 1;
      goto L22402;}
    else {
      *((long *) addr_394X) = (long) (1034);
      arg0K0 = (3 + (((long) (addr_394X + 4))));
      goto L22402;}}
  else {
    *((long *) a_389X) = (long) (252645135);
    arg1K0 = (a_389X + 4);
    goto L15152;}}
 L22402: {
  vector_395X = arg0K0;
  if ((1 == vector_395X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_396X;
    goto L22389;}
  else {
    arg0K0 = vector_395X;
    goto L22389;}}
 L22389: {
  v_397X = arg0K0;
  Sempty_logS = v_397X;
  x_398X = Sempty_logS;
  addr_399X = ((char *) (-3 + x_398X));S48_WRITE_BARRIER(x_398X, addr_399X, 1);
  *((long *) addr_399X) = (long) (1);
  return;}
 make_return_code: {
  protocol_361X = merged_arg0K0;
  opcode_362X = merged_arg0K1;
  size_363X = merged_arg0K2;{
  addr_400X = s48_allocate_small(18);
  *((long *) addr_400X) = (long) (3658);
  code_401X = 3 + (((long) (addr_400X + 4)));
  *((unsigned char *) (((char *) (-3 + code_401X)))) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 1)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 2)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 3)) = (unsigned char) (23);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 4)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 5)) = (unsigned char) (8);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 6)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 7)) = (unsigned char) (11);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 8)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 9)) = (unsigned char) ((255 & (((size_363X)>>8))));
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 10)) = (unsigned char) ((255 & size_363X));
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 11)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 12)) = (unsigned char) (protocol_361X);
  *((unsigned char *) ((((char *) (-3 + code_401X))) + 13)) = (unsigned char) (opcode_362X);
  make_return_code0_return_value = code_401X;
  goto make_return_code_return;}
 make_return_code_return:
  switch (make_return_code_return_tag) {
  case 0: goto make_return_code_return_0;
  case 1: goto make_return_code_return_1;
  case 2: goto make_return_code_return_2;
  default: goto make_return_code_return_3;
  }}

 make_hash_tableAgc: {
{ addr_402X = s48_allocate_tracedAgc(4100);
  if ((addr_402X == NULL)) {
    arg0K0 = 1;
    goto L9549;}
  else {
    *((long *) addr_402X) = (long) (1048586);
    arg0K0 = (3 + (((long) (addr_402X + 4))));
    goto L9549;}}
 L9549: {
  vector_403X = arg0K0;
  if ((1 == vector_403X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_404X;
    goto L9537;}
  else {
    arg0K0 = vector_403X;
    goto L9537;}}
 L9537: {
  table_405X = arg0K0;
  arg0K0 = 0;
  goto L9572;}
 L9572: {
  i_406X = arg0K0;
  if ((1024 == i_406X)) {
    make_hash_tableAgc0_return_value = table_405X;
    goto make_hash_tableAgc_return;}
  else {
    addr_407X = (((char *) (-3 + table_405X))) + (((i_406X)<<2));S48_WRITE_BARRIER(table_405X, addr_407X, 1);
    *((long *) addr_407X) = (long) (1);
    arg0K0 = (1 + i_406X);
    goto L9572;}}
 make_hash_tableAgc_return:
  switch (make_hash_tableAgc_return_tag) {
  case 0: goto make_hash_tableAgc_return_0;
  case 1: goto make_hash_tableAgc_return_1;
  default: goto make_hash_tableAgc_return_2;
  }}

}
void s48_post_gc_cleanup(void)
{

 {  (Spost_gc_cleanupS)();
  return;}
}
void s48_gc_root(void)
{

 {  (Sgc_root_procS)();
  return;}
}
long s48_restart(long proc_408X, long nargs_409X)
{
  char *arg3K0;
  char arg2K3;
  char arg2K1;
  char arg2K0;
  char arg2K2;
  char * arg1K1;
  char * arg1K0;
  long arg0K4;
  long arg0K3;
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char *merged_arg3K0;
  FILE * merged_arg4K2;
  char merged_arg2K1;
  char * merged_arg1K0;
  long merged_arg0K3;
  long merged_arg0K2;
  long merged_arg0K1;
  long merged_arg0K0;

  int move_args_above_contB_return_tag;
  int push_native_interrupt_continuation_return_tag;
  int get_error_string_return_tag;
  long get_error_string0_return_value;
  int copy_continuation_from_heapB_return_tag;
  char * copy_continuation_from_heapB0_return_value;
  int okay_argument_list_return_tag;
  char okay_argument_list0_return_value;
  long okay_argument_list1_return_value;
  int get_current_port_return_tag;
  long get_current_port0_return_value;
  int make_closure_return_tag;
  long make_closure0_return_value;
  int pending_interruptP_return_tag;
  char pending_interruptP0_return_value;
  int proposal_d_read_return_tag;
  long proposal_d_read0_return_value;
  int proposal_d_write_return_tag;
  int shift_space_return_tag;
  long shift_space0_return_value;
  int okay_copy_argsP_return_tag;
  char okay_copy_argsP0_return_value;
  int pop_continuationB_return_tag;
  int copy_listSAgc_return_tag;
  long copy_listSAgc0_return_value;
  int pop_args_GlistSAgc_return_tag;
  long pop_args_GlistSAgc0_return_value;
  int ensure_stack_spaceB_return_tag;
  char ensure_stack_spaceB0_return_value;
  int push_list_return_tag;
  long push_list0_return_value;
  int rest_list_setupAgc_return_tag;
  int find_template_return_tag;
  long find_template0_return_value;
  int maybe_write_template_return_tag;
  char maybe_write_template0_return_value;
  int loseD0_return_tag;
  long nargs_410X;
  long status_411X;
  long cont_412X;
  long stack_arg_count_413X;
  long list_414X;
  long marker_415X;
  long a_416X;
  long b_417X;
  long stob_418X;
  long index_419X;
  long stob_420X;
  long index_421X;
  long value_422X;
  long x_423X;
  long n_424X;
  long thing_425X;
  long index_426X;
  long count_427X;
  long list_428X;
  long length_429X;
  long start_430X;
  long count_431X;
  long need_432X;
  long list_433X;
  long count_434X;
  long wants_stack_args_435X;
  long stack_arg_count_436X;
  long list_args_437X;
  long list_arg_count_438X;
  char * start_439X;
  long count_440X;
  long code_vector_441X;
  long template_442X;
  char not_firstP_443X;
  FILE * out_444X;
  char *message_445X;
  char * arg_2101X;
  char * loc_2100X;
  char * top_of_args_2099X;
  long code_2098X;
  long n_2097X;
  char * addr_2096X;
  long x_2095X;
  long x_2094X;
  long i_2093X;
  long string_2092X;
  char * addr_2091X;
  long len_2090X;
  long len_2089X;
  long x_2088X;
  char *string_2087X;
  char * new_stack_2086X;
  char * new_cont_2085X;
  long stack_size_2084X;
  char move_slowP_2083X;
  long slow_2082X;
  long len_2081X;
  long fast_2080X;
  long v_2079X;
  char *v_2078X;
  long v_2077X;
  long v_2076X;
  long obj_2075X;
  long env_2074X;
  long thread_2073X;
  long x_2072X;
  char * addr_2071X;
  long v_2070X;
  long status_2069X;
  long channel_2068X;
  long type_2067X;
  long v_2066X;
  long next_stob_2065X;
  long i_2064X;
  long log_2063X;
  char * addr_2062X;
  long next_stob_2061X;
  long i_2060X;
  long log_2059X;
  long v_2058X;
  long v_2057X;
  long n_2056X;
  long extra_2055X;
  long x_size_2054X;
  long v_2053X;
  long v_2052X;
  long size_2051X;
  char * pointer_2050X;
  char * cont_2049X;
  char * addr_2048X;
  long x_2047X;
  char * addr_2046X;
  long a_2045X;
  long last_2044X;
  long l_2043X;
  long x_2042X;
  char * addr_2041X;
  long a_2040X;
  long value_2039X;
  long x_2038X;
  char * addr_2037X;
  long a_2036X;
  long count_2035X;
  long args_2034X;
  long value_2033X;
  char interruptP_2032X;
  long x_2031X;
  long l_2030X;
  long i_2029X;
  long list_2028X;
  long x_2027X;
  long v_2026X;
  long x_2025X;
  long v_2024X;
  long count_2023X;
  long x_2022X;
  long next_2021X;
  long i_2020X;
  long obj_2019X;
  long obj_2018X;
  long name_2017X;
  long v_2016X;
  long why_2015X;
  long size_2014X;
  char * pointer_2013X;
  char v_2012X;
  long v_2011X;
  long v_2010X;
  char v_2009X;
  long v_2008X;
  char not_firstP_2007X;
  long cont_2006X;
  long size_2005X;
  char * pointer_2004X;
  long v_2003X;
  char * pointer_2002X;
  char * code_pointer_2001X;
  long cont_2000X;
  char not_firstP_1999X;
  char * cont_1998X;
  char not_firstP_1997X;
  long template_1996X;
  FILE * out_1995X;
  long current_code_1994X;
  long val_1993X;
  long val_1992X;
  long val_1991X;
  long val_1990X;
  long val_1989X;
  long val_1988X;
  long n_1987X;
  char v_1986X;
  char * external_bignum_1985X;
  char * x_1984X;
  long val_1983X;
  long n_1982X;
  char v_1981X;
  char * external_bignum_1980X;
  char * x_1979X;
  long val_1978X;
  long n_1977X;
  char v_1976X;
  char * external_bignum_1975X;
  char * x_1974X;
  long v_1973X;
  long n_1972X;
  char v_1971X;
  long v_1970X;
  long rem_1969X;
  long quot_1968X;
  char div_by_zeroP_1967X;
  long val_1966X;
  long n_1965X;
  char v_1964X;
  char * external_bignum_1963X;
  char * x_1962X;
  long val_1961X;
  long n_1960X;
  char v_1959X;
  char * external_bignum_1958X;
  char * x_1957X;
  long val_1956X;
  long n_1955X;
  char v_1954X;
  char * external_bignum_1953X;
  char * x_1952X;
  long link_1951X;
  long v_1950X;
  long v_1949X;
  long stob_1948X;
  long v_1947X;
  long stob_1946X;
  char * addr_1945X;
  long x_1944X;
  char * addr_1943X;
  char * addr_1942X;
  long value_1941X;
  char * addr_1940X;
  long value_1939X;
  long copies_1938X;
  char * v_1937X;
  long value_1936X;
  char * y_1935X;
  char * v_1934X;
  long value_1933X;
  char * y_1932X;
  char * v_1931X;
  long value_1930X;
  char * y_1929X;
  long val_1928X;
  long v_1927X;
  long n_1926X;
  char v_1925X;
  char * rem_1924X;
  char * quot_1923X;
  char div_by_zeroP_1922X;
  char * x_1921X;
  char * v_1920X;
  long value_1919X;
  char * y_1918X;
  char * v_1917X;
  long value_1916X;
  char * y_1915X;
  char * v_1914X;
  long value_1913X;
  char * y_1912X;
  char * addr_1911X;
  long val_1910X;
  char * addr_1909X;
  long value_1908X;
  long len_1907X;
  long s2_1906X;
  long foo_1905X;
  long previous_foo_1904X;
  long value_1903X;
  long verify_1902X;
  long copies_1901X;
  long stob_1900X;
  long i_1899X;
  long x_1898X;
  long x_1897X;
  long val_1896X;
  char * addr_1895X;
  long value_1894X;
  char * v_1893X;
  long value_1892X;
  long v_1891X;
  char * v_1890X;
  long value_1889X;
  long v_1888X;
  char * v_1887X;
  long value_1886X;
  long v_1885X;
  long val_1884X;
  long val_1883X;
  long n_1882X;
  char v_1881X;
  char * external_bignum_1880X;
  char * x_1879X;
  long val_1878X;
  long n_1877X;
  char v_1876X;
  char * external_bignum_1875X;
  char * x_1874X;
  char * v_1873X;
  long value_1872X;
  char * y_1871X;
  char * v_1870X;
  long value_1869X;
  long v_1868X;
  long val_1867X;
  long v_1866X;
  char * v_1865X;
  char * v_1864X;
  long value_1863X;
  long extra1_1862X;
  long length1_1861X;
  char * v_1860X;
  long value_1859X;
  long v_1858X;
  long bucket_1857X;
  char * addr_1856X;
  long value_1855X;
  long verify_1854X;
  long log_1853X;
  long stob_1852X;
  long i_1851X;
  long x_1850X;
  long n_1849X;
  long code_1848X;
  long status_1847X;
  char pendingP_1846X;
  char eofP_1845X;
  long got_1844X;
  long y_1843X;
  long link_1842X;
  long val_1841X;
  long x_1840X;
  char * addr_1839X;
  long b_1838X;
  long val_1837X;
  long extra1_1836X;
  long length1_1835X;
  long extra1_1834X;
  long length1_1833X;
  long extra1_1832X;
  long length1_1831X;
  long n_1830X;
  char * v_1829X;
  long val_1828X;
  long n_1827X;
  char v_1826X;
  char * external_bignum_1825X;
  char * v_1824X;
  long v_1823X;
  long n_1822X;
  char v_1821X;
  char * external_bignum_1820X;
  char * v_1819X;
  long value_1818X;
  char * y_1817X;
  char * v_1816X;
  long value_1815X;
  char * y_1814X;
  char * v_1813X;
  long value_1812X;
  long extra1_1811X;
  long val_1810X;
  long v_1809X;
  char * v_1808X;
  long extra1_1807X;
  long length1_1806X;
  long val_1805X;
  long v_1804X;
  char * v_1803X;
  long x_1802X;
  long val_1801X;
  long v_1800X;
  char * v_1799X;
  long extra0_1798X;
  long length0_1797X;
  long extra1_1796X;
  long length1_1795X;
  char * addr_1794X;
  long value_1793X;
  long offset_1792X;
  long i_1791X;
  long count_1790X;
  char * addr_1789X;
  long value_1788X;
  long offset_1787X;
  long i_1786X;
  long count_1785X;
  char *v_1784X;
  long link_1783X;
  long index_1782X;
  long h_1781X;
  long i_1780X;
  char * addr_1779X;
  char * addr_1778X;
  long value_1777X;
  char * addr_1776X;
  char * addr_1775X;
  char * addr_1774X;
  long value_1773X;
  char * addr_1772X;
  char * addr_1771X;
  long value_1770X;
  long proposal_1769X;
  long entry_1768X;
  long thing_1767X;
  long log_1766X;
  long copies_1765X;
  char * addr_1764X;
  long x_1763X;
  long val_1762X;
  long n_1761X;
  long code_1760X;
  long status_1759X;
  long v_1758X;
  long len_1757X;
  long s2_1756X;
  long foo_1755X;
  long val_1754X;
  long v_1753X;
  long n_1752X;
  char v_1751X;
  char * external_bignum_1750X;
  char * x_1749X;
  long extra0_1748X;
  long length0_1747X;
  long extra0_1746X;
  long length0_1745X;
  long extra0_1744X;
  long length0_1743X;
  char * v_1742X;
  long value_1741X;
  long v_1740X;
  char * v_1739X;
  long value_1738X;
  long v_1737X;
  char * v_1736X;
  long v_1735X;
  char * x_1734X;
  long v_1733X;
  char * v_1732X;
  long n_1731X;
  char * v_1730X;
  long value_1729X;
  long extra1_1728X;
  char * v_1727X;
  long value_1726X;
  long extra1_1725X;
  long val_1724X;
  long val_1723X;
  long val_1722X;
  long val_1721X;
  long val_1720X;
  long extra0_1719X;
  long length0_1718X;
  long val_1717X;
  long v_1716X;
  char * v_1715X;
  long x_1714X;
  long val_1713X;
  long v_1712X;
  char * v_1711X;
  long extra0_1710X;
  long length0_1709X;
  long y_1708X;
  long x_1707X;
  long extra0_1706X;
  long length0_1705X;
  long x_1704X;
  long n_1703X;
  long code_1702X;
  long bytes_used_1701X;
  long count_1700X;
  long index_1699X;
  long env_1698X;
  long offset_1697X;
  long i_1696X;
  long bytes_used_1695X;
  long count_1694X;
  long env_1693X;
  long offset_1692X;
  long i_1691X;
  long n_1690X;
  long x_1689X;
  long obj_1688X;
  long n_1687X;
  long code_1686X;
  long n_1685X;
  long code_1684X;
  long n_1683X;
  long code_1682X;
  long n_1681X;
  long code_1680X;
  long i_1679X;
  long l_1678X;
  long n_1677X;
  long table_1676X;
  long val_1675X;
  long n_1674X;
  long code_1673X;
  char x_1672X;
  char minutesP_1671X;
  long v_1670X;
  long vector_1669X;
  char * addr_1668X;
  long x_1667X;
  long value_1666X;
  long verify_1665X;
  long copies_1664X;
  long stob_1663X;
  long i_1662X;
  char * addr_1661X;
  long v_1660X;
  char * addr_1659X;
  char * addr_1658X;
  long val_1657X;
  long x_1656X;
  long n_1655X;
  long code_1654X;
  long status_1653X;
  char pendingP_1652X;
  long got_1651X;
  long y_1650X;
  char v_1649X;
  long count_1648X;
  long start_1647X;
  char waitP_1646X;
  long x_1645X;
  long n_1644X;
  long code_1643X;
  long status_1642X;
  long channel_1641X;
  long v_1640X;
  long v_1639X;
  long v_1638X;
  long reason_1637X;
  long channel_1636X;
  long index_1635X;
  long bucket_1634X;
  long i_1633X;
  long i_1632X;
  char * addr_1631X;
  long i_1630X;
  long rest_list_1629X;
  long i_1628X;
  long v_1627X;
  long n_1626X;
  char v_1625X;
  char * external_bignum_1624X;
  char * x_1623X;
  long val_1622X;
  long v_1621X;
  char * v_1620X;
  char * v_1619X;
  long value_1618X;
  long needed_1617X;
  long y_1616X;
  long y_1615X;
  long x_1614X;
  long val_1613X;
  long v_1612X;
  char * v_1611X;
  long val_1610X;
  long v_1609X;
  char * v_1608X;
  long extra_1607X;
  long length_1606X;
  long count_1605X;
  long x_1604X;
  long extra_1603X;
  long length_1602X;
  char * v_1601X;
  long value_1600X;
  long extra_1599X;
  long length_1598X;
  long x_1597X;
  long c_1596X;
  long b_1595X;
  long extra0_1594X;
  long length0_1593X;
  long c_1592X;
  long b_1591X;
  long extra0_1590X;
  long length0_1589X;
  long n_1588X;
  long code_1587X;
  long val_1586X;
  long v_1585X;
  long v_1584X;
  long v_1583X;
  long n_1582X;
  long code_1581X;
  long val_1580X;
  long v_1579X;
  long v_1578X;
  long v_1577X;
  long n_1576X;
  long code_1575X;
  long val_1574X;
  long v_1573X;
  long v_1572X;
  long v_1571X;
  long n_1570X;
  long code_1569X;
  long val_1568X;
  long v_1567X;
  long v_1566X;
  long v_1565X;
  long n_1564X;
  long code_1563X;
  long val_1562X;
  char b_1561X;
  long result_1560X;
  char x_1559X;
  long c_1558X;
  long b_1557X;
  long n_1556X;
  long code_1555X;
  long c_1554X;
  long mid_c_1553X;
  long v_1552X;
  long v_1551X;
  long lo_c_1550X;
  long hi_b_1549X;
  long hi_a_1548X;
  long lo_b_1547X;
  long lo_a_1546X;
  long b_1545X;
  long n_1544X;
  long code_1543X;
  long n_1542X;
  long code_1541X;
  long x_1540X;
  long v_1539X;
  long cont_1538X;
  char * addr_1537X;
  long value_1536X;
  long offset_1535X;
  long i_1534X;
  long count_1533X;
  char * addr_1532X;
  long value_1531X;
  long offset_1530X;
  long i_1529X;
  long count_1528X;
  long n_1527X;
  char x_1526X;
  long channel_1525X;
  long handlers_1524X;
  long arg_count_1523X;
  char * arg_1522X;
  char * loc_1521X;
  long x_1520X;
  long l_1519X;
  long stack_nargs_1518X;
  long x_1517X;
  long v_1516X;
  long v_1515X;
  long v_1514X;
  long v_1513X;
  long obj_1512X;
  long type_1511X;
  long thing_1510X;
  long stuff_1509X;
  char * addr_1508X;
  long val_1507X;
  long n_1506X;
  long code_1505X;
  long i_1504X;
  long n_1503X;
  long code_1502X;
  long b_1501X;
  long port_1500X;
  long Kchar_1499X;
  long n_1498X;
  long code_1497X;
  long i_1496X;
  long p_1495X;
  long n_1494X;
  long code_1493X;
  long b_1492X;
  long port_1491X;
  char * addr_1490X;
  long val_1489X;
  long n_1488X;
  long code_1487X;
  long i_1486X;
  long p_1485X;
  long n_1484X;
  long code_1483X;
  long b_1482X;
  long port_1481X;
  long n_1480X;
  long code_1479X;
  char * addr_1478X;
  long n_1477X;
  long code_1476X;
  long n_1475X;
  long code_1474X;
  long value_1473X;
  long n_1472X;
  long code_1471X;
  long list_1470X;
  long head_1469X;
  char move_slowP_1468X;
  long slow_1467X;
  long list_1466X;
  long n_1465X;
  long code_1464X;
  long string_1463X;
  char * addr_1462X;
  long len_1461X;
  long x_1460X;
  long n_1459X;
  long code_1458X;
  long val_1457X;
  long n_1456X;
  long code_1455X;
  long mseconds_1454X;
  long seconds_1453X;
  long option_1452X;
  long x_1451X;
  long n_1450X;
  long code_1449X;
  long x_1448X;
  long n_1447X;
  long code_1446X;
  long v_1445X;
  long v_1444X;
  long x_1443X;
  long result_1442X;
  char * args_1441X;
  long name_1440X;
  long proc_1439X;
  long rest_list_1438X;
  long x_1437X;
  long n_1436X;
  long code_1435X;
  long x_1434X;
  long v_1433X;
  long code_1432X;
  long pc_1431X;
  char * addr_1430X;
  long x_1429X;
  long proposal_1428X;
  long x_1427X;
  long n_1426X;
  long code_1425X;
  long x_1424X;
  long n_1423X;
  long code_1422X;
  long n_1421X;
  long code_1420X;
  long value_1419X;
  long vector_1418X;
  long type_1417X;
  char firstP_1416X;
  long n_1415X;
  long code_1414X;
  long vector_1413X;
  char firstP_1412X;
  long n_1411X;
  long code_1410X;
  long x_1409X;
  long n_1408X;
  long code_1407X;
  long h_1406X;
  long i_1405X;
  long x_1404X;
  long n_1403X;
  long code_1402X;
  long x_1401X;
  long n_1400X;
  long code_1399X;
  long status_1398X;
  long reason_1397X;
  long x_1396X;
  long n_1395X;
  long code_1394X;
  long n_1393X;
  long code_1392X;
  char * addr_1391X;
  long next_stob_1390X;
  long i_1389X;
  long n_1388X;
  long code_1387X;
  long x_1386X;
  long n_1385X;
  long code_1384X;
  long v_1383X;
  long next_stob_1382X;
  long i_1381X;
  long value_1380X;
  long n_1379X;
  long code_1378X;
  char * addr_1377X;
  long count_1376X;
  long to_index_1375X;
  long from_index_1374X;
  long copies_1373X;
  long left_1372X;
  long n_1371X;
  long code_1370X;
  long n_1369X;
  long code_1368X;
  long value_1367X;
  long value_1366X;
  long verify_1365X;
  long log_1364X;
  long stob_1363X;
  long i_1362X;
  long n_1361X;
  long code_1360X;
  char * addr_1359X;
  long old_1358X;
  long x_1357X;
  char * addr_1356X;
  long channel_1355X;
  long res_1354X;
  long i_1353X;
  long x_1352X;
  long n_1351X;
  long code_1350X;
  long y_1349X;
  long n_1348X;
  char * addr_1347X;
  long prev_1346X;
  long ch_1345X;
  long val_1344X;
  long x_1343X;
  long n_1342X;
  long code_1341X;
  long val_1340X;
  long x_1339X;
  long n_1338X;
  long code_1337X;
  long n_1336X;
  long code_1335X;
  long x_1334X;
  long n_1333X;
  long code_1332X;
  long x_1331X;
  long n_1330X;
  long code_1329X;
  long n_1328X;
  long code_1327X;
  long reason_1326X;
  long v_1325X;
  long v_1324X;
  long val_1323X;
  long x_1322X;
  long n_1321X;
  long code_1320X;
  char * addr_1319X;
  char * addr_1318X;
  long x_1317X;
  long n_1316X;
  long code_1315X;
  long val_1314X;
  long x_1313X;
  long n_1312X;
  long code_1311X;
  long link_1310X;
  long index_1309X;
  long h_1308X;
  long i_1307X;
  long x_1306X;
  long n_1305X;
  long code_1304X;
  long n_1303X;
  long code_1302X;
  long n_1301X;
  long code_1300X;
  long x_1299X;
  long n_1298X;
  long code_1297X;
  long n_1296X;
  long code_1295X;
  long x_1294X;
  long n_1293X;
  long code_1292X;
  long x_1291X;
  long n_1290X;
  long code_1289X;
  long n_1288X;
  long code_1287X;
  long vector_1286X;
  long n_1285X;
  long code_1284X;
  long x_1283X;
  long n_1282X;
  long code_1281X;
  long n_1280X;
  long code_1279X;
  long n_1278X;
  long code_1277X;
  long x_1276X;
  long n_1275X;
  long code_1274X;
  long n_1273X;
  long code_1272X;
  long x_1271X;
  long n_1270X;
  long code_1269X;
  long n_1268X;
  long code_1267X;
  long vector_1266X;
  long n_1265X;
  long code_1264X;
  long n_1263X;
  long code_1262X;
  char * addr_1261X;
  long n_1260X;
  long code_1259X;
  long n_1258X;
  long code_1257X;
  long value_1256X;
  long n_1255X;
  long code_1254X;
  long n_1253X;
  long code_1252X;
  long value_1251X;
  long x_1250X;
  long n_1249X;
  long code_1248X;
  long n_1247X;
  long code_1246X;
  char * addr_1245X;
  long n_1244X;
  long code_1243X;
  long value_1242X;
  long i_1241X;
  long value_1240X;
  long i_1239X;
  long n_1238X;
  long code_1237X;
  long value_1236X;
  long val_1235X;
  long n_1234X;
  long code_1233X;
  long x_1232X;
  long n_1231X;
  long code_1230X;
  long val_1229X;
  long x_1228X;
  long n_1227X;
  long code_1226X;
  long val_1225X;
  long val_1224X;
  char * v_1223X;
  long value_1222X;
  long needed_1221X;
  long y_1220X;
  long x_1219X;
  long result_1218X;
  long x_1217X;
  long x_1216X;
  long x_1215X;
  long count_1214X;
  long value_1213X;
  long n_1212X;
  long code_1211X;
  long val_1210X;
  long val_1209X;
  long n_1208X;
  long code_1207X;
  long n_1206X;
  long code_1205X;
  long n_1204X;
  long code_1203X;
  long n_1202X;
  long code_1201X;
  long x_1200X;
  long n_1199X;
  long code_1198X;
  long x_1197X;
  long n_1196X;
  long code_1195X;
  long x_1194X;
  long n_1193X;
  long code_1192X;
  long n_1191X;
  long code_1190X;
  long n_1189X;
  long code_1188X;
  long n_1187X;
  long code_1186X;
  long n_1185X;
  long code_1184X;
  long n_1183X;
  long a_1182X;
  long y_1181X;
  long x_1180X;
  long a_1179X;
  long y_1178X;
  long x_1177X;
  long val_1176X;
  long val_1175X;
  char b_1174X;
  long val_1173X;
  char b_1172X;
  long val_1171X;
  char b_1170X;
  long val_1169X;
  long Kdouble_1168X;
  char * addr_1167X;
  double value_1166X;
  long value_1165X;
  double y_1164X;
  long value_1163X;
  long a_1162X;
  long n_1161X;
  long code_1160X;
  long y_1159X;
  long x_1158X;
  long Kdouble_1157X;
  char * addr_1156X;
  double x_1155X;
  long value_1154X;
  double y_1153X;
  long value_1152X;
  long val_1151X;
  long v_1150X;
  char * v_1149X;
  long Kdouble_1148X;
  char * addr_1147X;
  double x_1146X;
  long value_1145X;
  double y_1144X;
  long value_1143X;
  long a_1142X;
  long Kdouble_1141X;
  char * addr_1140X;
  double x_1139X;
  long value_1138X;
  double y_1137X;
  long value_1136X;
  long val_1135X;
  long v_1134X;
  char * v_1133X;
  long n_1132X;
  long code_1131X;
  long x_1130X;
  long n_1129X;
  long code_1128X;
  long n_1127X;
  long val_1126X;
  long val_1125X;
  long delta_1124X;
  long delta_1123X;
  long offset_1122X;
  long index_1121X;
  long v_1120X;
  long x_1119X;
  long x_1118X;
  long x_1117X;
  long x_1116X;
  char * addr_1115X;
  long a_1114X;
  long wants_stack_args_1113X;
  long size_1112X;
  char * pointer_1111X;
  char * cont_1110X;
  long proc_1109X;
  long offset_1108X;
  long cont_1107X;
  long protocol_1106X;
  char * code_pointer_1105X;
  long obj_1104X;
  char * addr_1103X;
  long list_args_1102X;
  long follower_1101X;
  long list_1100X;
  long x_1099X;
  long n_1098X;
  long code_1097X;
  long args_1096X;
  long list_arg_count_1095X;
  char okayP_1094X;
  long stack_nargs_1093X;
  long list_args_1092X;
  long obj_1091X;
  long v_1090X;
  long protocol_1089X;
  long code_1088X;
  long template_1087X;
  long obj_1086X;
  long stack_arg_count_1085X;
  long value_1084X;
  char * addr_1083X;
  long value_1082X;
  long offset_1081X;
  long i_1080X;
  long count_1079X;
  long total_count_1078X;
  long offset_1077X;
  long i_1076X;
  long new_env_1075X;
  char * addr_1074X;
  long value_1073X;
  long offset_1072X;
  long i_1071X;
  long count_1070X;
  long total_count_1069X;
  long offset_1068X;
  long i_1067X;
  long new_env_1066X;
  long n_1065X;
  long x_1064X;
  long x_1063X;
  char * addr_1062X;
  long next_1061X;
  long channel_1060X;
  long n_1059X;
  long x_1058X;
  long n_1057X;
  long x_1056X;
  long m_1055X;
  long i_1054X;
  char * arg_top_1053X;
  long list_arg_count_1052X;
  long list_args_1051X;
  long stack_nargs_1050X;
  long bytes_used_1049X;
  long count_1048X;
  long v_1047X;
  char * arg_1046X;
  char * loc_1045X;
  long obj_1044X;
  long obj_1043X;
  long list_arg_count_1042X;
  long list_args_1041X;
  long stack_arg_count_1040X;
  long v_1039X;
  long v_1038X;
  long size_1037X;
  char * pointer_1036X;
  char * cont_1035X;
  long protocol_skip_1034X;
  long v_1033X;
  long bytes_used_1032X;
  long n_1031X;
  long code_1030X;
  long args_1029X;
  long list_args_1028X;
  long stack_nargs_1027X;
  long v_1026X;
  long v_1025X;
  long code_1024X;
  long n_1023X;
  char * addr_1022X;
  long x_1021X;
  long x_1020X;
  long pc_1019X;
  long code_1018X;
  long x_1017X;
  FILE * out_1016X;
  long x_1015X;
  long v_1014X;
  long v_1013X;
  long v_1012X;
  long v_1011X;
  long v_1010X;
  long v_1009X;
  long v_1008X;
  long v_1007X;
  long x_1006X;
  long n_1005X;
  long code_1004X;
  long v_1003X;
  long len_1002X;
  long value_1001X;
  long index_1000X;
  long arg4_999X;
  long arg3_998X;
  long arg2_997X;
  long x_996X;
  long n_995X;
  long code_994X;
  long v_993X;
  long v_992X;
  long len_991X;
  long index_990X;
  long arg3_989X;
  long arg2_988X;
  long n_987X;
  long code_986X;
  long list_985X;
  long arg2_984X;
  long x_983X;
  long n_982X;
  long code_981X;
  long n_980X;
  long arg2_979X;
  long len_978X;
  long x_977X;
  long obj_976X;
  long arg2_975X;
  long x_974X;
  long arg2_973X;
  long x_972X;
  long n_971X;
  long code_970X;
  long n_969X;
  long code_968X;
  long n_967X;
  long code_966X;
  long status_965X;
  long value_964X;
  long key_963X;
  long arg2_962X;
  long x_961X;
  long n_960X;
  long code_959X;
  long n_958X;
  long code_957X;
  long mseconds_956X;
  long seconds_955X;
  long mseconds_954X;
  long seconds_953X;
  long x_952X;
  long other_951X;
  long option_950X;
  long arg2_949X;
  long x_948X;
  long arg2_947X;
  long x_946X;
  long arg2_945X;
  long x_944X;
  long n_943X;
  long code_942X;
  long rest_list_941X;
  long p_940X;
  long nargs_939X;
  long p_938X;
  long x_937X;
  long arg2_936X;
  long x_935X;
  long n_934X;
  long code_933X;
  long p_932X;
  long p_931X;
  long x_930X;
  long p_929X;
  long old_928X;
  long temp_927X;
  long obj_926X;
  long n_925X;
  long code_924X;
  long opcode_923X;
  long pc_922X;
  long size_921X;
  long exception_920X;
  long code_919X;
  long data_918X;
  long temp_917X;
  long obj_916X;
  long val_915X;
  long type_914X;
  long x_913X;
  long n_912X;
  long code_911X;
  long type_910X;
  long x_909X;
  long n_908X;
  long code_907X;
  long n_906X;
  long code_905X;
  long n_904X;
  long code_903X;
  long x_902X;
  long bytes_901X;
  long x_900X;
  long other_899X;
  long key_898X;
  long arg2_897X;
  long x_896X;
  char * addr_895X;
  long b_894X;
  long x_893X;
  char * addr_892X;
  long proc_891X;
  long arg2_890X;
  long n_889X;
  long x_888X;
  long obj_887X;
  long status_886X;
  long status_885X;
  long status_884X;
  long status_883X;
  long status_882X;
  long status_881X;
  FILE * port_880X;
  long undumpables_879X;
  long obj_878X;
  long arg4_877X;
  long arg3_876X;
  long arg2_875X;
  long n_874X;
  long code_873X;
  long arg_872X;
  long log_871X;
  long index_870X;
  long x_869X;
  long len_868X;
  long byte_867X;
  long index_866X;
  long arg3_865X;
  long arg2_864X;
  long log_863X;
  long index_862X;
  long x_861X;
  long len_860X;
  long index_859X;
  long arg2_858X;
  long x_857X;
  long n_856X;
  long code_855X;
  char v_854X;
  char v_853X;
  long v_852X;
  long count_851X;
  long to_index_850X;
  long from_index_849X;
  long arg5_848X;
  long arg4_847X;
  long arg3_846X;
  long arg2_845X;
  long v_844X;
  long x_843X;
  long type_842X;
  long offset_841X;
  long stob_840X;
  long log_839X;
  long n_838X;
  long code_837X;
  long proposal_836X;
  long proposal_835X;
  char * addr_834X;
  long next_833X;
  long channel_832X;
  long n_831X;
  char * addr_830X;
  long head_829X;
  long channel_828X;
  long obj_827X;
  long x_826X;
  long n_825X;
  long code_824X;
  long status_823X;
  char readyP_822X;
  long n_821X;
  long code_820X;
  long channel_819X;
  long obj_818X;
  char v_817X;
  long count_816X;
  long start_815X;
  long arg4_814X;
  long arg3_813X;
  long arg2_812X;
  long x_811X;
  long arg5_810X;
  long arg4_809X;
  long arg3_808X;
  long arg2_807X;
  long x_806X;
  long n_805X;
  long code_804X;
  long status_803X;
  long n_802X;
  long code_801X;
  long channel_800X;
  long obj_799X;
  long x_798X;
  long n_797X;
  long code_796X;
  long close_silentlyP_795X;
  long mode_794X;
  long arg3_793X;
  long arg2_792X;
  long x_791X;
  long x_790X;
  long x_789X;
  long arg2_788X;
  long descriptor_787X;
  long x_786X;
  long obj_785X;
  long n_784X;
  long string_783X;
  long table_782X;
  long obj_781X;
  long len_780X;
  char Kchar_779X;
  long index_778X;
  long arg3_777X;
  long arg2_776X;
  long len_775X;
  long index_774X;
  long arg2_773X;
  long obj_772X;
  char * addr_771X;
  long len_770X;
  char init_769X;
  long len_768X;
  long arg2_767X;
  long len_766X;
  long Kchar_765X;
  long index_764X;
  long arg3_763X;
  long arg2_762X;
  long len_761X;
  long index_760X;
  long arg2_759X;
  long obj_758X;
  long x_757X;
  long n_756X;
  long code_755X;
  char * addr_754X;
  long init_753X;
  long len_752X;
  long arg2_751X;
  long v_750X;
  long index_749X;
  long len_748X;
  long type_747X;
  long value_746X;
  long arg3_745X;
  long arg2_744X;
  long v_743X;
  long v_742X;
  long index_741X;
  long len_740X;
  long type_739X;
  long index_738X;
  long arg2_737X;
  long n_736X;
  long code_735X;
  char * addr_734X;
  long len_733X;
  long len_732X;
  long type_731X;
  long init_730X;
  long arg2_729X;
  long v_728X;
  long type_727X;
  long offset_726X;
  long value_725X;
  long arg2_724X;
  long type_723X;
  long offset_722X;
  long stob_721X;
  long rest_list_720X;
  long stack_nargs_719X;
  long p_718X;
  long new_717X;
  char * addr_716X;
  long len_715X;
  long type_714X;
  long len_713X;
  long p_712X;
  long new_711X;
  char * addr_710X;
  long len_709X;
  long type_708X;
  long len_707X;
  long type_706X;
  long stob_705X;
  long type_704X;
  long x_703X;
  long x_702X;
  long x_701X;
  long n_700X;
  long code_699X;
  long x_698X;
  long x_697X;
  long n_696X;
  long code_695X;
  long x_694X;
  long arg2_693X;
  long x_692X;
  long arg2_691X;
  long x_690X;
  long v_689X;
  long n_688X;
  long code_687X;
  long v_686X;
  long y_685X;
  long arg2_684X;
  long y_683X;
  long arg2_682X;
  long y_681X;
  long arg2_680X;
  long y_679X;
  long arg2_678X;
  long x_677X;
  long x_676X;
  long x_675X;
  long arg2_674X;
  long arg2_673X;
  long arg2_672X;
  long x_671X;
  long v_670X;
  long x_669X;
  long n_668X;
  long n_667X;
  long n_666X;
  long n_665X;
  long n_664X;
  long a_663X;
  long y_662X;
  long arg2_661X;
  long b_660X;
  long a_659X;
  long y_658X;
  long arg2_657X;
  long y_656X;
  long arg2_655X;
  long y_654X;
  long arg2_653X;
  long y_652X;
  long arg2_651X;
  long y_650X;
  long arg2_649X;
  long y_648X;
  long arg2_647X;
  long b_646X;
  long a_645X;
  long y_644X;
  long arg2_643X;
  long x_642X;
  long y_641X;
  long arg2_640X;
  long b_639X;
  long a_638X;
  long y_637X;
  long arg2_636X;
  long x_635X;
  long y_634X;
  long arg2_633X;
  long n_632X;
  long n_631X;
  long x_630X;
  long x_629X;
  long arg2_628X;
  long rest_list_627X;
  long x_626X;
  long rest_list_625X;
  long stack_nargs_624X;
  long arg0_623X;
  long arg1_622X;
  long rest_list_621X;
  long arg0_620X;
  long stack_nargs_619X;
  long x_618X;
  long n_617X;
  long code_616X;
  long index_615X;
  long val_614X;
  long max_613X;
  long p_612X;
  char * code_pointer_611X;
  long return_pointer_offset_610X;
  long nargs_609X;
  long code_608X;
  long template_607X;
  long rest_list_606X;
  long stack_nargs_605X;
  long p_604X;
  long p_603X;
  long cont_602X;
  long v_601X;
  long rest_list_600X;
  long stack_nargs_599X;
  long p_598X;
  long p_597X;
  long x_596X;
  long n_595X;
  long code_594X;
  long args_593X;
  char * code_pointer_592X;
  long return_pointer_offset_591X;
  long length_590X;
  char okayP_589X;
  long list_args_588X;
  long stack_nargs_587X;
  char * code_pointer_586X;
  long return_pointer_offset_585X;
  long stack_arg_count_584X;
  char * code_pointer_583X;
  long stack_arg_count_582X;
  long v_581X;
  long x_580X;
  long x_579X;
  long x_578X;
  long x_577X;
  long value_576X;
  long x_575X;
  long template_574X;
  long new_env_573X;
  char * addr_572X;
  long len_571X;
  long closures_570X;
  long total_count_569X;
  long template_568X;
  long new_env_567X;
  char * addr_566X;
  long len_565X;
  long closures_564X;
  long total_count_563X;
  char * addr_562X;
  long val_561X;
  long x_560X;
  long n_559X;
  long code_558X;
  long location_557X;
  long index_556X;
  long template_555X;
  long n_554X;
  long code_553X;
  long location_552X;
  long index_551X;
  long template_550X;
  long x_549X;
  long x_548X;
  long n_547X;
  long n_546X;
  long code_545X;
  char * code_pointer_544X;
  long v_543X;
  long v_542X;
  long v_541X;
  long n_540X;
  char * arg_top_539X;
  long count_538X;
  long size_537X;
  char * pointer_536X;
  char * cont_535X;
  long offset_534X;
  long cont_533X;
  long v_532X;
  long v_531X;
  long protocol_530X;
  char * code_pointer_529X;
  long list_arg_count_528X;
  long list_args_527X;
  long stack_nargs_526X;
  long v_525X;
  long v_524X;
  char v_523X;
  char v_522X;
  char v_521X;
  long v_520X;
  long nargs_519X;
  long size_518X;
  char * pointer_517X;
  char * cont_516X;
  char v_515X;
  long obj_514X;
  long stack_arg_count_513X;
  long tag_512X;
  long final_stack_arg_count_511X;
  char interruptP_510X;
  long obj_509X;
  long x_508X;
  long x_507X;
  long envUtemplate_506X;
  long needed_stack_space_505X;
  long template_504X;
  long used_503X;
  long code_502X;
  long tag_501X;
  long skip_500X;
  long x_499X;
  long x_498X;
  long envUtemplate_497X;
  long template_496X;
  long used_495X;
  long envUtemp_offset_494X;
  long code_493X;
  long retval_492X;
  long handlers_491X;
  long opcode_490X;
  long nargs_489X;
  long v_488X;
  long v_487X;
  long v_486X;
  long v_485X;
  long v_484X;
  long v_483X;
  long index_482X;
  long length_481X;
  long v_480X;
  long v_479X;
  long v_478X;
  long v_477X;
  long v_476X;
  long v_475X;
  long v_474X;
  long v_473X;
  long v_472X;
  long wants_stack_args_471X;
  long v_470X;
  long v_469X;
  long v_468X;
  long v_467X;
  long skip_466X;
  char nativeP_465X;
  long stack_space_464X;
  long protocol_463X;
  long v_462X;
  long x_461X;
  long n_460X;
  long code_459X;
  long args_458X;
  long v_457X;
  long list_arg_count_456X;
  long list_args_455X;
  long stack_arg_count_454X;
  long exception_453X;
  long total_arg_count_452X;
  long code_451X;
  long handler_tag_450X;
  long list_arg_count_449X;
  long list_args_448X;
  long stack_arg_count_447X;
  long obj_446X;
 {  if ((3 == (3 & proc_408X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_408X))) + -4))))>>2))))) {
      SvalS = proc_408X;
      obj_446X = SvalS;
      if ((3 == (3 & obj_446X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_446X))) + -4))))>>2))))) {
          arg0K0 = nargs_409X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L31977;}
        else {
          arg0K0 = 3;
          arg0K1 = nargs_409X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L22943;}}
      else {
        arg0K0 = 3;
        arg0K1 = nargs_409X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L22943;}}
    else {
      goto L23119;}}
  else {
    goto L23119;}}
 L31977: {
  stack_arg_count_447X = arg0K0;
  list_args_448X = arg0K1;
  list_arg_count_449X = arg0K2;
  handler_tag_450X = arg0K3;
  code_451X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
  total_arg_count_452X = stack_arg_count_447X + list_arg_count_449X;
  arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_451X))) + 1)));
  arg0K1 = 64;
  arg2K2 = 0;
  goto L32003;}
 L22943: {
  exception_453X = arg0K0;
  stack_arg_count_454X = arg0K1;
  list_args_455X = arg0K2;
  list_arg_count_456X = arg0K3;
  merged_arg0K0 = list_args_455X;
  merged_arg0K1 = list_arg_count_456X;
  copy_listSAgc_return_tag = 0;
  goto copy_listSAgc;
 copy_listSAgc_return_0:
  v_457X = copy_listSAgc0_return_value;
  merged_arg0K0 = v_457X;
  merged_arg0K1 = stack_arg_count_454X;
  pop_args_GlistSAgc_return_tag = 0;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_0:
  args_458X = pop_args_GlistSAgc0_return_value;
  code_459X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_459X)))))<<2)), code_459X, (((exception_453X)<<2)), 0);
  n_460X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_460X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((exception_453X)<<2)));
  x_461X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_461X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_458X);
  arg0K0 = 2;
  goto L23535;}
 L23119: {
  ps_error("s48-restart called with non-procedure", 1, proc_408X);
  return v_462X;}
 L32003: {
  protocol_463X = arg0K0;
  stack_space_464X = arg0K1;
  nativeP_465X = arg2K2;
  if ((69 == protocol_463X)) {
    if ((total_arg_count_452X < 3)) {
      skip_466X = *((unsigned char *) ((((char *) (-3 + code_451X))) + (3 + total_arg_count_452X)));
      if ((0 == skip_466X)) {
        if ((-1 == handler_tag_450X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_447X;
          arg0K2 = list_args_448X;
          arg0K3 = list_arg_count_449X;
          goto L22943;}
        else {
          if ((handler_tag_450X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
            arg0K0 = v_467X;
            goto L53340;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
            arg0K0 = v_468X;
            goto L53340;}}}
      else {
        merged_arg0K0 = list_args_448X;
        merged_arg0K1 = list_arg_count_449X;
        push_list_return_tag = 0;
        goto push_list;
       push_list_return_0:
        arg0K0 = code_451X;
        arg0K1 = 6;
        arg0K2 = skip_466X;
        arg0K3 = (*((long *) (((char *) (-3 + (SvalS))))));
        goto L22529;}}
    else {
      if ((0 == (*((unsigned char *) ((((char *) (-3 + code_451X))) + 2))))) {
        if ((-1 == handler_tag_450X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_447X;
          arg0K2 = list_args_448X;
          arg0K3 = list_arg_count_449X;
          goto L22943;}
        else {
          if ((handler_tag_450X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
            arg0K0 = v_469X;
            goto L53340;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
            arg0K0 = v_470X;
            goto L53340;}}}
      else {
        arg0K0 = 6;
        goto L32042;}}}
  else {
    if ((63 < protocol_463X)) {
      if ((65 == protocol_463X)) {
        wants_stack_args_471X = ((((*((unsigned char *) ((((char *) (-3 + code_451X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_451X))) + 3)));
        if ((total_arg_count_452X < wants_stack_args_471X)) {
          if ((-1 == handler_tag_450X)) {
            arg0K0 = 4;
            arg0K1 = stack_arg_count_447X;
            arg0K2 = list_args_448X;
            arg0K3 = list_arg_count_449X;
            goto L22943;}
          else {
            if ((handler_tag_450X < 0)) {
              ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
              arg0K0 = v_472X;
              goto L53340;}
            else {
              ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
              arg0K0 = v_473X;
              goto L53340;}}}
        else {
          merged_arg0K0 = wants_stack_args_471X;
          merged_arg0K1 = stack_arg_count_447X;
          merged_arg0K2 = list_args_448X;
          merged_arg0K3 = list_arg_count_449X;
          rest_list_setupAgc_return_tag = 0;
          goto rest_list_setupAgc;
         rest_list_setupAgc_return_0:
          if (nativeP_465X) {
            v_474X = s48_call_native_procedure((SvalS), 4);
            arg0K0 = v_474X;
            goto L25322;}
          else {
            arg0K0 = code_451X;
            arg0K1 = 4;
            arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
            arg0K3 = stack_space_464X;
            goto L25408;}}}
      else {
        if ((68 == protocol_463X)) {
          if ((total_arg_count_452X < (*((unsigned char *) ((((char *) (-3 + code_451X))) + 2))))) {
            if ((-1 == handler_tag_450X)) {
              arg0K0 = 4;
              arg0K1 = stack_arg_count_447X;
              arg0K2 = list_args_448X;
              arg0K3 = list_arg_count_449X;
              goto L22943;}
            else {
              if ((handler_tag_450X < 0)) {
                ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
                arg0K0 = v_475X;
                goto L53340;}
              else {
                ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
                arg0K0 = v_476X;
                goto L53340;}}}
          else {
            arg0K0 = 3;
            goto L32042;}}
        else {
          if ((127 < protocol_463X)) {
            arg0K0 = (127 & protocol_463X);
            arg0K1 = stack_space_464X;
            arg2K2 = 1;
            goto L32003;}
          else {
            if ((64 == protocol_463X)) {
              if (((((((*((unsigned char *) ((((char *) (-3 + code_451X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_451X))) + 3)))) == total_arg_count_452X)) {
                if ((0 == list_arg_count_449X)) {
                  if (nativeP_465X) {
                    v_477X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_477X;
                    goto L25322;}
                  else {
                    arg0K0 = code_451X;
                    arg0K1 = 4;
                    arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
                    arg0K3 = stack_space_464X;
                    goto L25408;}}
                else {
                  merged_arg0K0 = list_args_448X;
                  merged_arg0K1 = list_arg_count_449X;
                  push_list_return_tag = 1;
                  goto push_list;
                 push_list_return_1:
                  if (nativeP_465X) {
                    v_478X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_478X;
                    goto L25322;}
                  else {
                    arg0K0 = code_451X;
                    arg0K1 = 4;
                    arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
                    arg0K3 = stack_space_464X;
                    goto L25408;}}}
              else {
                if ((-1 == handler_tag_450X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_447X;
                  arg0K2 = list_args_448X;
                  arg0K3 = list_arg_count_449X;
                  goto L22943;}
                else {
                  if ((handler_tag_450X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
                    arg0K0 = v_479X;
                    goto L53340;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
                    arg0K0 = v_480X;
                    goto L53340;}}}}
            else {
              if ((67 == protocol_463X)) {
                length_481X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_451X))) + -4))))>>8);
                index_482X = -2 + length_481X;
                arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_451X))) + (-3 + length_481X))));
                arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_451X))) + index_482X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_451X))) + (1 + index_482X)))));
                arg2K2 = nativeP_465X;
                goto L32003;}
              else {
                ps_error("unknown protocol", 1, protocol_463X);
                if ((-1 == handler_tag_450X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_447X;
                  arg0K2 = list_args_448X;
                  arg0K3 = list_arg_count_449X;
                  goto L22943;}
                else {
                  if ((handler_tag_450X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
                    arg0K0 = v_483X;
                    goto L53340;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
                    arg0K0 = v_484X;
                    goto L53340;}}}}}}}}
    else {
      if ((protocol_463X == total_arg_count_452X)) {
        if ((0 == list_arg_count_449X)) {
          if (nativeP_465X) {
            v_485X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_485X;
            goto L25322;}
          else {
            arg0K0 = code_451X;
            arg0K1 = 2;
            arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
            arg0K3 = stack_space_464X;
            goto L25408;}}
        else {
          merged_arg0K0 = list_args_448X;
          merged_arg0K1 = list_arg_count_449X;
          push_list_return_tag = 2;
          goto push_list;
         push_list_return_2:
          if (nativeP_465X) {
            v_486X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_486X;
            goto L25322;}
          else {
            arg0K0 = code_451X;
            arg0K1 = 2;
            arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
            arg0K3 = stack_space_464X;
            goto L25408;}}}
      else {
        if ((-1 == handler_tag_450X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_447X;
          arg0K2 = list_args_448X;
          arg0K3 = list_arg_count_449X;
          goto L22943;}
        else {
          if ((handler_tag_450X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_450X));
            arg0K0 = v_487X;
            goto L53340;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_450X);
            arg0K0 = v_488X;
            goto L53340;}}}}}}
 L23535: {
  nargs_489X = arg0K0;
  opcode_490X = (((*((long *) ((SstackS) + (4 + (((nargs_489X)<<2)))))))>>2);
  handlers_491X = SHARED_REF((Sexception_handlersS));
  if ((3 == (3 & handlers_491X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_491X))) + -4))))>>2))))) {
      goto L23600;}
    else {
      goto L23683;}}
  else {
    goto L23683;}}
 L53340: {
  retval_492X = arg0K0;
  SstackS = (ScontS);
  return retval_492X;}
 L22529: {
  code_493X = arg0K0;
  envUtemp_offset_494X = arg0K1;
  used_495X = arg0K2;
  template_496X = arg0K3;
  envUtemplate_497X = *((unsigned char *) ((((char *) (-3 + code_493X))) + envUtemp_offset_494X));
  if ((3 == envUtemplate_497X)) {
    x_498X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_498X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_496X);
    goto L22533;}
  else {
    if ((1 == envUtemplate_497X)) {
      x_499X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_499X);
      goto L22533;}
    else {
      if ((2 == envUtemplate_497X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_496X);
        goto L22533;}
      else {
        goto L22533;}}}}
 L32042: {
  skip_500X = arg0K0;
  if ((total_arg_count_452X < 3)) {
    arg0K0 = total_arg_count_452X;
    goto L32050;}
  else {
    if ((2 < stack_arg_count_447X)) {
      arg0K0 = stack_arg_count_447X;
      goto L32050;}
    else {
      arg0K0 = 2;
      goto L32050;}}}
 L25322: {
  tag_501X = arg0K0;
  arg0K0 = tag_501X;
  goto L25326;}
 L25408: {
  code_502X = arg0K0;
  used_503X = arg0K1;
  template_504X = arg0K2;
  needed_stack_space_505X = arg0K3;
  envUtemplate_506X = *((unsigned char *) ((((char *) (-3 + code_502X))) + used_503X));
  if ((3 == envUtemplate_506X)) {
    x_507X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_507X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_504X);
    goto L25412;}
  else {
    if ((1 == envUtemplate_506X)) {
      x_508X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_508X);
      goto L25412;}
    else {
      if ((2 == envUtemplate_506X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_504X);
        goto L25412;}
      else {
        goto L25412;}}}}
 L23600: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_491X))) + (((opcode_490X)<<2)))));
  obj_509X = SvalS;
  if ((3 == (3 & obj_509X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_509X))) + -4))))>>2))))) {
      goto L23617;}
    else {
      goto L23697;}}
  else {
    goto L23697;}}
 L23683: {
  merged_arg3K0 = "exception-handlers is not a vector";
  loseD0_return_tag = 0;
  goto loseD0;
 loseD0_return_0:
  goto L23600;}
 L22533: {
  Slast_code_calledS = code_493X;
  Scode_pointerS = ((((char *) (-3 + code_493X))) + used_495X);
  if (((SstackS) < (s48_Sstack_limitS))) {
    interruptP_510X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if (((SstackS) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if (((SstackS) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        if (interruptP_510X) {
          goto L22540;}
        else {
          goto L22547;}}
      else {
        if (interruptP_510X) {
          goto L22540;}
        else {
          goto L22547;}}}
    else {
      if (interruptP_510X) {
        goto L22540;}
      else {
        goto L22547;}}}
  else {
    goto L22547;}}
 L32050: {
  final_stack_arg_count_511X = arg0K0;
  if ((stack_arg_count_447X < final_stack_arg_count_511X)) {
    arg0K0 = final_stack_arg_count_511X;
    goto L32054;}
  else {
    arg0K0 = stack_arg_count_447X;
    goto L32054;}}
 L25326: {
  tag_512X = arg0K0;
  if ((tag_512X == 0)) {
    arg0K0 = (s48_Snative_protocolS);
    arg0K1 = 25;
    arg0K2 = 0;
    goto L22681;}
  else {
    if ((tag_512X == 1)) {
      stack_arg_count_513X = s48_Snative_protocolS;
      obj_514X = SvalS;
      if ((3 == (3 & obj_514X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_514X))) + -4))))>>2))))) {
          arg0K0 = stack_arg_count_513X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L31977;}
        else {
          arg0K0 = 3;
          arg0K1 = stack_arg_count_513X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L22943;}}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_513X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L22943;}}
    else {
      if ((tag_512X == 2)) {
        pending_interruptP_return_tag = 0;
        goto pending_interruptP;
       pending_interruptP_return_0:
        v_515X = pending_interruptP0_return_value;
        if (v_515X) {
          push_native_interrupt_continuation_return_tag = 0;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_0:
          goto L23264;}
        else {
          SstackS = (ScontS);
          cont_516X = ScontS;
          pointer_517X = (((char *) (*((long *) cont_516X)))) + -2;
          size_518X = ((((*((unsigned char *) pointer_517X)))<<8)) + (*((unsigned char *) (pointer_517X + 1)));
          if ((65535 == size_518X)) {
            arg0K0 = ((((*((long *) (cont_516X + 4))))>>2));
            goto L25381;}
          else {
            arg0K0 = size_518X;
            goto L25381;}}}
      else {
        if ((tag_512X == 3)) {
          push_native_interrupt_continuation_return_tag = 1;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_1:
          nargs_519X = *((long *) (SstackS));
          SstackS = ((SstackS) + 4);
          ps_write_string("exception with ", (stderr));
          ps_write_integer(nargs_519X, (stderr));
          ps_write_string(" arguments", (stderr));
          arg0K0 = nargs_519X;
          goto L23535;}
        else {
          if ((tag_512X == 4)) {
            arg1K0 = (Scode_pointerS);
            goto L24827;}
          else {
            ps_error("unexpected native return value", 1, tag_512X);
            arg0K0 = v_520X;
            goto L53340;}}}}}}
 L25412: {
  Slast_code_calledS = code_502X;
  Scode_pointerS = ((((char *) (-3 + code_502X))) + (1 + used_503X));
  merged_arg0K0 = needed_stack_space_505X;
  ensure_stack_spaceB_return_tag = 0;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_0:
  v_521X = ensure_stack_spaceB0_return_value;
  if (v_521X) {
    pending_interruptP_return_tag = 1;
    goto pending_interruptP;
   pending_interruptP_return_1:
    v_522X = pending_interruptP0_return_value;
    if (v_522X) {
      goto L23441;}
    else {
      goto L25426;}}
  else {
    goto L25426;}}
 L23617: {
  arg0K0 = (2 + nargs_489X);
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = opcode_490X;
  goto L31977;}
 L23697: {
  merged_arg3K0 = "exception handler is not a closure";
  loseD0_return_tag = 1;
  goto loseD0;
 loseD0_return_1:
  goto L23617;}
 L22540: {
  pending_interruptP_return_tag = 2;
  goto pending_interruptP;
 pending_interruptP_return_2:
  v_523X = pending_interruptP0_return_value;
  if (v_523X) {
    goto L23441;}
  else {
    goto L22547;}}
 L22547: {
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L32054: {
  v_524X = arg0K0;
  merged_arg0K0 = v_524X;
  merged_arg0K1 = stack_arg_count_447X;
  merged_arg0K2 = list_args_448X;
  merged_arg0K3 = list_arg_count_449X;
  rest_list_setupAgc_return_tag = 1;
  goto rest_list_setupAgc;
 rest_list_setupAgc_return_1:
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((final_stack_arg_count_511X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((total_arg_count_452X)<<2)));
  if (nativeP_465X) {
    v_525X = s48_call_native_procedure((SvalS), skip_500X);
    arg0K0 = v_525X;
    goto L25322;}
  else {
    arg0K0 = code_451X;
    arg0K1 = skip_500X;
    arg0K2 = (*((long *) (((char *) (-3 + (SvalS))))));
    arg0K3 = stack_space_464X;
    goto L25408;}}
 L22681: {
  stack_nargs_526X = arg0K0;
  list_args_527X = arg0K1;
  list_arg_count_528X = arg0K2;
  code_pointer_529X = ((char *) (*((long *) (ScontS))));
  protocol_530X = *((unsigned char *) (code_pointer_529X + 1));
  if ((1 == protocol_530X)) {
    if ((1 == (stack_nargs_526X + list_arg_count_528X))) {
      if ((1 == stack_nargs_526X)) {
        v_531X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_531X;
        goto L22770;}
      else {
        arg0K0 = (*((long *) (((char *) (-3 + list_args_527X)))));
        goto L22770;}}
    else {
      arg0K0 = stack_nargs_526X;
      arg0K1 = list_args_527X;
      goto L23916;}}
  else {
    if ((66 == protocol_530X)) {
      pop_continuationB_return_tag = 0;
      goto pop_continuationB;
     pop_continuationB_return_0:
      arg0K0 = 1;
      goto L25315;}
    else {
      if ((127 < protocol_530X)) {
        if ((129 == protocol_530X)) {
          if ((1 == (stack_nargs_526X + list_arg_count_528X))) {
            if ((1 == stack_nargs_526X)) {
              v_532X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              arg0K0 = v_532X;
              goto L32485;}
            else {
              arg0K0 = (*((long *) (((char *) (-3 + list_args_527X)))));
              goto L32485;}}
          else {
            arg0K0 = stack_nargs_526X;
            arg0K1 = list_args_527X;
            goto L23916;}}
        else {
          if ((194 == protocol_530X)) {
            arg0K0 = 2;
            goto L26474;}
          else {
            ps_error("unknown native return protocol", 1, protocol_530X);
            arg0K0 = stack_nargs_526X;
            arg0K1 = list_args_527X;
            goto L23916;}}}
      else {
        if ((71 == protocol_530X)) {
          cont_533X = Sheap_continuationS;
          if ((3 == (3 & cont_533X))) {
            if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_533X))) + -4))))>>2))))) {
              merged_arg0K0 = cont_533X;
              merged_arg0K1 = stack_nargs_526X;
              copy_continuation_from_heapB_return_tag = 0;
              goto copy_continuation_from_heapB;
             copy_continuation_from_heapB_return_0:
              arg0K0 = stack_nargs_526X;
              arg0K1 = list_args_527X;
              arg0K2 = list_arg_count_528X;
              goto L22681;}
            else {
              goto L22716;}}
          else {
            goto L22716;}}
        else {
          if ((70 == protocol_530X)) {
            SvalS = (*((long *) ((ScontS) + 4)));
            offset_534X = ((((*((unsigned char *) (code_pointer_529X + 2))))<<8)) + (*((unsigned char *) (code_pointer_529X + 3)));
            if ((0 == offset_534X)) {
              cont_535X = ScontS;
              pointer_536X = (((char *) (*((long *) cont_535X)))) + -2;
              size_537X = ((((*((unsigned char *) pointer_536X)))<<8)) + (*((unsigned char *) (pointer_536X + 1)));
              if ((65535 == size_537X)) {
                arg0K0 = ((((*((long *) (cont_535X + 4))))>>2));
                goto L22833;}
              else {
                arg0K0 = size_537X;
                goto L22833;}}
            else {
              ScontS = ((ScontS) + 4);
              *((long *) (ScontS)) = (long) ((((long) (code_pointer_529X + offset_534X))));
              merged_arg0K0 = stack_nargs_526X;
              move_args_above_contB_return_tag = 0;
              goto move_args_above_contB;
             move_args_above_contB_return_0:
              arg0K0 = stack_nargs_526X;
              arg0K1 = list_args_527X;
              arg0K2 = list_arg_count_528X;
              goto L46741;}}
          else {
            if ((63 < protocol_530X)) {
              if ((65 == protocol_530X)) {
                count_538X = ((((*((unsigned char *) (code_pointer_529X + 2))))<<8)) + (*((unsigned char *) (code_pointer_529X + 3)));
                if (((stack_nargs_526X + list_arg_count_528X) < count_538X)) {
                  arg0K0 = stack_nargs_526X;
                  arg0K1 = list_args_527X;
                  goto L23916;}
                else {
                  arg_top_539X = SstackS;
                  pop_continuationB_return_tag = 1;
                  goto pop_continuationB;
                 pop_continuationB_return_1:
                  arg1K0 = ((SstackS) + -4);
                  arg1K1 = (arg_top_539X + (-4 + (((stack_nargs_526X)<<2))));
                  goto L26349;}}
              else {
                if ((64 == protocol_530X)) {
                  arg0K0 = (((((*((unsigned char *) (code_pointer_529X + 2))))<<8)) + (*((unsigned char *) (code_pointer_529X + 3))));
                  arg0K1 = 3;
                  arg0K2 = stack_nargs_526X;
                  arg0K3 = list_args_527X;
                  arg0K4 = list_arg_count_528X;
                  goto L26215;}
                else {
                  ps_error("unknown protocol", 1, protocol_530X);
                  arg0K0 = stack_nargs_526X;
                  arg0K1 = list_args_527X;
                  goto L23916;}}}
            else {
              arg0K0 = protocol_530X;
              arg0K1 = 1;
              arg0K2 = stack_nargs_526X;
              arg0K3 = list_args_527X;
              arg0K4 = list_arg_count_528X;
              goto L26215;}}}}}}}
 L23264: {
  n_540X = (Spending_interruptsS) & (Senabled_interruptsS);
  arg0K0 = 0;
  arg0K1 = 1;
  goto L23317;}
 L25381: {
  v_541X = arg0K0;
  ScontS = (cont_516X + (4 + (((v_541X)<<2))));
  v_542X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_543X = s48_invoke_native_continuation((2 + (((long) (((char *) v_542X))))));
  arg0K0 = v_543X;
  goto L25326;}
 L24827: {
  code_pointer_544X = arg1K0;
  switch ((*((unsigned char *) code_pointer_544X))) {
    case 0 : 
    case 23 : 
    case 27 : 
    case 34 : {
      code_545X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_545X)))))<<2)), code_545X, 56, 4);
      n_546X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_546X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (56);
      n_547X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_547X)<<2)));
      arg0K0 = 1;
      goto L23535;}
      break;
    case 1 : {
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 2 : {
      x_548X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_548X);
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 3 : {
      x_549X = -512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_549X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 4 : {
      template_550X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_551X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_552X = *((long *) ((((char *) (-3 + template_550X))) + (((index_551X)<<2))));
      SvalS = (*((long *) ((((char *) (-3 + location_552X))) + 4)));
      if ((17 == (255 & (SvalS)))) {
        code_553X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_553X)))))<<2)), code_553X, 4, 20);
        n_554X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_554X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (4);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_552X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_550X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_551X)<<2)));
        arg0K0 = 3;
        goto L23535;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L24827;}}
      break;
    case 5 : {
      template_555X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_556X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_557X = *((long *) ((((char *) (-3 + template_555X))) + (((index_556X)<<2))));
      if ((273 == (*((long *) ((((char *) (-3 + location_557X))) + 4))))) {
        code_558X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_558X)))))<<2)), code_558X, 4, 20);
        n_559X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_559X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (4);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_557X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_555X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_556X)<<2)));
        x_560X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_560X);
        arg0K0 = 4;
        goto L23535;}
      else {
        val_561X = SvalS;
        addr_562X = (((char *) (-3 + location_557X))) + 4;S48_WRITE_BARRIER(location_557X, addr_562X, val_561X);
        *((long *) addr_562X) = (long) (val_561X);
        SvalS = 13;
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L24827;}}
      break;
    case 6 : {
      total_count_563X = *((unsigned char *) ((Scode_pointerS) + 1));
      closures_564X = *((unsigned char *) ((Scode_pointerS) + 2));s48_make_availableAgc((((((1 + total_count_563X) + (3 * closures_564X)))<<2)));
      len_565X = ((total_count_563X)<<2);
      addr_566X = s48_allocate_small((4 + len_565X));
      *((long *) addr_566X) = (long) ((10 + (((len_565X)<<8))));
      new_env_567X = 3 + (((long) (addr_566X + 4)));
      if ((0 == closures_564X)) {
        arg0K0 = new_env_567X;
        arg0K1 = 0;
        arg0K2 = 2;
        arg0K3 = total_count_563X;
        goto L8201;}
      else {
        template_568X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<2))));
        arg0K0 = closures_564X;
        arg0K1 = 0;
        arg0K2 = 3;
        goto L18114;}}
      break;
    case 7 : {
      total_count_569X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      closures_570X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));s48_make_availableAgc((((((1 + total_count_569X) + (3 * closures_570X)))<<2)));
      len_571X = ((total_count_569X)<<2);
      addr_572X = s48_allocate_small((4 + len_571X));
      *((long *) addr_572X) = (long) ((10 + (((len_571X)<<8))));
      new_env_573X = 3 + (((long) (addr_572X + 4)));
      if ((0 == closures_570X)) {
        arg0K0 = new_env_573X;
        arg0K1 = 0;
        arg0K2 = 4;
        arg0K3 = total_count_569X;
        goto L10722;}
      else {
        template_574X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
        arg0K0 = closures_570X;
        arg0K1 = 0;
        arg0K2 = 6;
        goto L18175;}}
      break;
    case 8 : {
      x_575X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_575X);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 9 : {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (1);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 10 : {
      value_576X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = value_576X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 11 : {
      SstackS = ((SstackS) + (0 - ((((0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))))<<2))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 12 : {
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 13 : {
      x_577X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_577X);
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 14 : {
      x_578X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_578X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 15 : {
      SvalS = (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 16 : {
      *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 17 : {
      *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 18 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 19 : {
      x_579X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_579X);
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 20 : {
      x_580X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_580X);
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 21 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 5);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 22 : {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
      if ((1 == (((long) (ScontS))))) {
        arg0K0 = 1;
        goto L50380;}
      else {
        v_581X = really_preserve_continuation(0);
        arg0K0 = v_581X;
        goto L50380;}}
      break;
    case 24 : {
      stack_arg_count_582X = *((unsigned char *) ((Scode_pointerS) + 3));
      code_pointer_583X = (Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      ScontS = ((SstackS) + (((stack_arg_count_582X)<<2)));
      *((long *) (ScontS)) = (long) ((((long) code_pointer_583X)));
      arg0K0 = stack_arg_count_582X;
      goto L31897;}
      break;
    case 25 : {
      merged_arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      move_args_above_contB_return_tag = 1;
      goto move_args_above_contB;
     move_args_above_contB_return_1:
      arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      goto L31897;}
      break;
    case 26 : {
      stack_arg_count_584X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      return_pointer_offset_585X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_585X)) {
        merged_arg0K0 = stack_arg_count_584X;
        move_args_above_contB_return_tag = 2;
        goto move_args_above_contB;
       move_args_above_contB_return_2:
        goto L23072;}
      else {
        code_pointer_586X = (Scode_pointerS) + return_pointer_offset_585X;
        ScontS = ((SstackS) + (((stack_arg_count_584X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_586X)));
        goto L23072;}}
      break;
    case 28 : {
      stack_nargs_587X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      list_args_588X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      merged_arg0K0 = list_args_588X;
      okay_argument_list_return_tag = 0;
      goto okay_argument_list;
     okay_argument_list_return_0:
      okayP_589X = okay_argument_list0_return_value;
      length_590X = okay_argument_list1_return_value;
      if (okayP_589X) {
        return_pointer_offset_591X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
        if ((0 == return_pointer_offset_591X)) {
          merged_arg0K0 = stack_nargs_587X;
          move_args_above_contB_return_tag = 3;
          goto move_args_above_contB;
         move_args_above_contB_return_3:
          arg0K0 = stack_nargs_587X;
          arg0K1 = list_args_588X;
          arg0K2 = length_590X;
          goto L46741;}
        else {
          code_pointer_592X = (Scode_pointerS) + return_pointer_offset_591X;
          ScontS = ((SstackS) + (((stack_nargs_587X)<<2)));
          *((long *) (ScontS)) = (long) ((((long) code_pointer_592X)));
          arg0K0 = stack_nargs_587X;
          arg0K1 = list_args_588X;
          arg0K2 = length_590X;
          goto L46741;}}
      else {
        merged_arg0K0 = list_args_588X;
        merged_arg0K1 = stack_nargs_587X;
        pop_args_GlistSAgc_return_tag = 1;
        goto pop_args_GlistSAgc;
       pop_args_GlistSAgc_return_1:
        args_593X = pop_args_GlistSAgc0_return_value;
        code_594X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_594X)))))<<2)), code_594X, 20, 0);
        n_595X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_595X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_596X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_596X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (args_593X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 29 : {
      p_597X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_598X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_599X = ((p_598X)>>2);
      SvalS = (*((long *) ((SstackS) + (((stack_nargs_599X)<<2)))));
      merged_arg0K0 = (((p_597X)>>2));
      move_args_above_contB_return_tag = 4;
      goto move_args_above_contB;
     move_args_above_contB_return_4:
      rest_list_600X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((25 == rest_list_600X)) {
        v_601X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_601X;
        arg0K1 = (-2 + stack_nargs_599X);
        goto L16428;}
      else {
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_600X))) + 4))))) {
          arg0K0 = (*((long *) (((char *) (-3 + rest_list_600X)))));
          arg0K1 = (-1 + stack_nargs_599X);
          goto L16428;}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_600X))) + 4)))))) + 4)));
          arg0K1 = rest_list_600X;
          goto L16473;}}}
      break;
    case 30 : {
      cont_602X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & cont_602X))) {
        if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_602X))) + -4))))>>2))))) {
          merged_arg0K0 = cont_602X;
          merged_arg0K1 = 0;
          copy_continuation_from_heapB_return_tag = 1;
          goto copy_continuation_from_heapB;
         copy_continuation_from_heapB_return_1:
          goto L23030;}
        else {
          goto L23039;}}
      else {
        goto L23039;}}
      break;
    case 31 : {
      goto L49039;}
      break;
    case 32 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      arg0K1 = 25;
      arg0K2 = 0;
      goto L22681;}
      break;
    case 33 : {
      p_603X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_604X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_605X = ((p_604X)>>2);
      rest_list_606X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = stack_nargs_605X;
      arg0K1 = rest_list_606X;
      arg0K2 = ((((p_603X)>>2)) - stack_nargs_605X);
      goto L22681;}
      break;
    case 35 : {
      template_607X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
      code_608X = *((long *) (((char *) (-3 + template_607X))));
      nargs_609X = *((unsigned char *) ((Scode_pointerS) + 7));
      return_pointer_offset_610X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_610X)) {
        merged_arg0K0 = nargs_609X;
        move_args_above_contB_return_tag = 5;
        goto move_args_above_contB;
       move_args_above_contB_return_5:
        goto L26514;}
      else {
        code_pointer_611X = (Scode_pointerS) + return_pointer_offset_610X;
        ScontS = ((SstackS) + (((nargs_609X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_611X)));
        goto L26514;}}
      break;
    case 36 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 3);
        arg1K0 = (Scode_pointerS);
        goto L24827;}}
      break;
    case 37 : {
      Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 38 : {
      Scode_pointerS = ((Scode_pointerS) + (0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))));
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 39 : {
      if ((0 == (3 & (SvalS)))) {
        p_612X = SvalS;
        max_613X = *((unsigned char *) ((Scode_pointerS) + 1));
        val_614X = ((p_612X)>>2);
        if ((val_614X < 0)) {
          goto L25184;}
        else {
          if ((val_614X < max_613X)) {
            index_615X = 1 + (((val_614X)<<1));
            arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_615X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_615X)))));
            goto L25186;}
          else {
            goto L25184;}}}
      else {
        code_616X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_616X)))))<<2)), code_616X, 20, 0);
        n_617X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_617X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_618X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_618X);
        arg0K0 = 1;
        goto L23535;}}
      break;
    case 40 : {
      stack_nargs_619X = (((*((long *) (SstackS))))>>2);
      if ((0 == stack_nargs_619X)) {
        arg0_620X = *((long *) ((SstackS) + 8));
        rest_list_621X = *((long *) ((SstackS) + 4));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_620X);
        SvalS = (*((long *) (((char *) (-3 + rest_list_621X)))));
        goto L25852;}
      else {
        arg1_622X = *((long *) ((SstackS) + (((stack_nargs_619X)<<2))));
        arg0_623X = *((long *) ((SstackS) + (4 + (((stack_nargs_619X)<<2)))));
        *((long *) ((SstackS) + (4 + (((stack_nargs_619X)<<2))))) = (long) (1);
        *((long *) (SstackS)) = (long) ((-4 + (((stack_nargs_619X)<<2))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_623X);
        SvalS = arg1_622X;
        goto L25852;}}
      break;
    case 41 : {
      stack_nargs_624X = (((*((long *) (SstackS))))>>2);
      if ((stack_nargs_624X == 0)) {
        rest_list_625X = *((long *) ((SstackS) + 4));
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_625X))) + 4))))) {
          arg0K0 = 1;
          goto L25082;}
        else {
          *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_625X))) + 4))));
          *((long *) ((SstackS) + 8)) = (long) ((SvalS));
          arg0K0 = -2;
          goto L25082;}}
      else {
        if ((stack_nargs_624X == 1)) {
          if ((25 == (*((long *) ((SstackS) + 4))))) {
            arg0K0 = 1;
            goto L25082;}
          else {
            *((long *) (SstackS)) = (long) (0);
            *((long *) ((SstackS) + 8)) = (long) ((SvalS));
            arg0K0 = -2;
            goto L25082;}}
        else {
          *((long *) ((SstackS) + (4 + (((stack_nargs_624X)<<2))))) = (long) ((SvalS));
          arg0K0 = -2;
          goto L25082;}}}
      break;
    case 42 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        x_626X = (((*((long *) (SstackS))))>>2);
        if ((x_626X == 0)) {
          rest_list_627X = *((long *) ((SstackS) + 4));
          if ((25 == (*((long *) ((((char *) (-3 + rest_list_627X))) + 4))))) {
            arg0K0 = 1;
            goto L25743;}
          else {
            *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_627X))) + 4))));
            *((long *) ((SstackS) + 8)) = (long) ((*((long *) (((char *) (-3 + rest_list_627X))))));
            arg0K0 = -2;
            goto L25743;}}
        else {
          if ((x_626X == 1)) {
            if ((25 == (*((long *) ((SstackS) + 4))))) {
              arg0K0 = 1;
              goto L25743;}
            else {
              *((long *) (SstackS)) = (long) (0);
              arg0K0 = -2;
              goto L25743;}}
          else {
            arg0K0 = -2;
            goto L25743;}}}}
      break;
    case 43 : {
      arg2_628X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_629X = SvalS;
      if ((arg2_628X == x_629X)) {
        arg0K0 = 5;
        goto L50437;}
      else {
        arg0K0 = 1;
        goto L50437;}}
      break;
    case 44 : {
      x_630X = SvalS;
      if ((0 == (3 & x_630X))) {
        arg0K0 = 5;
        goto L50449;}
      else {
        if ((3 == (3 & x_630X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_630X))) + -4))))>>2))))) {
            arg0K0 = 5;
            goto L50449;}
          else {
            goto L14205;}}
        else {
          goto L14205;}}}
      break;
    case 45 : {
      n_631X = SvalS;
      if ((0 == (3 & n_631X))) {
        goto L41302;}
      else {
        if ((3 == (3 & n_631X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_631X))) + -4))))>>2))))) {
            goto L41302;}
          else {
            goto L41303;}}
        else {
          goto L41303;}}}
      break;
    case 46 : {
      arg0K0 = (SvalS);
      goto L41429;}
      break;
    case 47 : {
      arg0K0 = (SvalS);
      goto L41429;}
      break;
    case 48 : {
      arg0K0 = (SvalS);
      goto L41429;}
      break;
    case 49 : {
      n_632X = SvalS;
      if ((0 == (3 & n_632X))) {
        goto L34015;}
      else {
        if ((3 == (3 & n_632X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_632X))) + -4))))>>2))))) {
            goto L34015;}
          else {
            goto L34016;}}
        else {
          goto L34016;}}}
      break;
    case 50 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 51 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 52 : {
      arg2_633X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_634X = SvalS;
      if ((0 == (3 & (arg2_633X | y_634X)))) {s48_make_availableAgc(16);
        x_635X = (((arg2_633X)>>2)) + (((y_634X)>>2));
        if ((536870911 < x_635X)) {
          goto L34157;}
        else {
          if ((x_635X < -536870912)) {
            goto L34157;}
          else {
            arg0K0 = (((x_635X)<<2));
            goto L34103;}}}
      else {
        if ((0 == (3 & arg2_633X))) {
          goto L34109;}
        else {
          if ((3 == (3 & arg2_633X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_633X))) + -4))))>>2))))) {
              goto L34109;}
            else {
              goto L34118;}}
          else {
            goto L34118;}}}}
      break;
    case 53 : {
      arg2_636X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_637X = SvalS;
      if ((0 == (3 & (arg2_636X | y_637X)))) {
        a_638X = ((arg2_636X)>>2);
        b_639X = ((y_637X)>>2);
        if ((a_638X < 0)) {
          arg0K0 = (0 - a_638X);
          goto L8367;}
        else {
          arg0K0 = a_638X;
          goto L8367;}}
      else {
        if ((0 == (3 & arg2_636X))) {
          goto L43333;}
        else {
          if ((3 == (3 & arg2_636X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_636X))) + -4))))>>2))))) {
              goto L43333;}
            else {
              goto L43342;}}
          else {
            goto L43342;}}}}
      break;
    case 54 : {
      arg2_640X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_641X = SvalS;
      if ((0 == (3 & (arg2_640X | y_641X)))) {s48_make_availableAgc(16);
        x_642X = (((arg2_640X)>>2)) - (((y_641X)>>2));
        if ((536870911 < x_642X)) {
          goto L34462;}
        else {
          if ((x_642X < -536870912)) {
            goto L34462;}
          else {
            arg0K0 = (((x_642X)<<2));
            goto L34408;}}}
      else {
        if ((0 == (3 & arg2_640X))) {
          goto L34414;}
        else {
          if ((3 == (3 & arg2_640X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_640X))) + -4))))>>2))))) {
              goto L34414;}
            else {
              goto L34423;}}
          else {
            goto L34423;}}}}
      break;
    case 55 : {
      arg2_643X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_644X = SvalS;
      if ((0 == y_644X)) {
        arg0K0 = arg2_643X;
        arg0K1 = y_644X;
        goto L24172;}
      else {
        if ((0 == (3 & (arg2_643X | y_644X)))) {
          if ((0 == y_644X)) {
            arg0K0 = arg2_643X;
            arg0K1 = y_644X;
            goto L24172;}
          else {
            a_645X = ((arg2_643X)>>2);
            b_646X = ((y_644X)>>2);
            if ((a_645X < 0)) {
              arg0K0 = (0 - a_645X);
              goto L8625;}
            else {
              arg0K0 = a_645X;
              goto L8625;}}}
        else {
          if ((0 == (3 & arg2_643X))) {
            goto L43576;}
          else {
            if ((3 == (3 & arg2_643X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_643X))) + -4))))>>2))))) {
                goto L43576;}
              else {
                goto L43609;}}
            else {
              goto L43609;}}}}}
      break;
    case 56 : {
      arg2_647X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_648X = SvalS;
      if ((0 == (3 & (arg2_647X | y_648X)))) {
        if ((arg2_647X == y_648X)) {
          arg0K0 = 5;
          goto L34709;}
        else {
          arg0K0 = 1;
          goto L34709;}}
      else {
        if ((0 == (3 & arg2_647X))) {
          goto L34715;}
        else {
          if ((3 == (3 & arg2_647X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_647X))) + -4))))>>2))))) {
              goto L34715;}
            else {
              goto L34726;}}
          else {
            goto L34726;}}}}
      break;
    case 57 : {
      arg2_649X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_650X = SvalS;
      if ((0 == (3 & (arg2_649X | y_650X)))) {
        if ((arg2_649X < y_650X)) {
          arg0K0 = 5;
          goto L34985;}
        else {
          arg0K0 = 1;
          goto L34985;}}
      else {
        if ((0 == (3 & arg2_649X))) {
          goto L34991;}
        else {
          if ((3 == (3 & arg2_649X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_649X))) + -4))))>>2))))) {
              goto L34991;}
            else {
              goto L35002;}}
          else {
            goto L35002;}}}}
      break;
    case 58 : {
      arg2_651X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_652X = SvalS;
      if ((0 == (3 & (arg2_651X | y_652X)))) {
        if ((y_652X < arg2_651X)) {
          arg0K0 = 5;
          goto L35324;}
        else {
          arg0K0 = 1;
          goto L35324;}}
      else {
        if ((0 == (3 & arg2_651X))) {
          goto L35330;}
        else {
          if ((3 == (3 & arg2_651X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_651X))) + -4))))>>2))))) {
              goto L35330;}
            else {
              goto L35341;}}
          else {
            goto L35341;}}}}
      break;
    case 59 : {
      arg2_653X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_654X = SvalS;
      if ((0 == (3 & (arg2_653X | y_654X)))) {
        if ((y_654X < arg2_653X)) {
          arg0K0 = 1;
          goto L35663;}
        else {
          arg0K0 = 5;
          goto L35663;}}
      else {
        if ((0 == (3 & arg2_653X))) {
          goto L35669;}
        else {
          if ((3 == (3 & arg2_653X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_653X))) + -4))))>>2))))) {
              goto L35669;}
            else {
              goto L35680;}}
          else {
            goto L35680;}}}}
      break;
    case 60 : {
      arg2_655X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_656X = SvalS;
      if ((0 == (3 & (arg2_655X | y_656X)))) {
        if ((arg2_655X < y_656X)) {
          arg0K0 = 1;
          goto L35973;}
        else {
          arg0K0 = 5;
          goto L35973;}}
      else {
        if ((0 == (3 & arg2_655X))) {
          goto L35979;}
        else {
          if ((3 == (3 & arg2_655X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_655X))) + -4))))>>2))))) {
              goto L35979;}
            else {
              goto L35990;}}
          else {
            goto L35990;}}}}
      break;
    case 61 : {
      arg2_657X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_658X = SvalS;
      if ((0 == y_658X)) {
        arg0K0 = arg2_657X;
        arg0K1 = y_658X;
        goto L24172;}
      else {
        if ((0 == (3 & (arg2_657X | y_658X)))) {
          if ((0 == y_658X)) {
            arg0K0 = arg2_657X;
            arg0K1 = y_658X;
            goto L19462;}
          else {
            a_659X = ((arg2_657X)>>2);
            b_660X = ((y_658X)>>2);
            if ((a_659X < 0)) {
              arg0K0 = (0 - a_659X);
              goto L9314;}
            else {
              arg0K0 = a_659X;
              goto L9314;}}}
        else {
          if ((0 == (3 & arg2_657X))) {
            goto L36295;}
          else {
            if ((3 == (3 & arg2_657X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_657X))) + -4))))>>2))))) {
                goto L36295;}
              else {
                arg0K0 = arg2_657X;
                arg0K1 = y_658X;
                goto L24172;}}
            else {
              arg0K0 = arg2_657X;
              arg0K1 = y_658X;
              goto L24172;}}}}}
      break;
    case 62 : {
      arg2_661X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_662X = SvalS;
      if ((0 == y_662X)) {
        arg0K0 = arg2_661X;
        arg0K1 = y_662X;
        goto L24172;}
      else {
        if ((0 == (3 & (arg2_661X | y_662X)))) {
          if ((0 == y_662X)) {
            arg0K0 = arg2_661X;
            arg0K1 = y_662X;
            goto L19553;}
          else {
            a_663X = ((arg2_661X)>>2);
            if ((a_663X < 0)) {
              arg0K0 = (0 - a_663X);
              goto L36475;}
            else {
              arg0K0 = a_663X;
              goto L36475;}}}
        else {
          if ((0 == (3 & arg2_661X))) {
            goto L36449;}
          else {
            if ((3 == (3 & arg2_661X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_661X))) + -4))))>>2))))) {
                goto L36449;}
              else {
                arg0K0 = arg2_661X;
                arg0K1 = y_662X;
                goto L24172;}}
            else {
              arg0K0 = arg2_661X;
              arg0K1 = y_662X;
              goto L24172;}}}}}
      break;
    case 63 : {
      n_664X = SvalS;
      if ((0 == (3 & n_664X))) {
        goto L36614;}
      else {
        if ((3 == (3 & n_664X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_664X))) + -4))))>>2))))) {
            goto L36614;}
          else {
            goto L36615;}}
        else {
          goto L36615;}}}
      break;
    case 64 : {
      n_665X = SvalS;
      if ((0 == (3 & n_665X))) {
        goto L36685;}
      else {
        if ((3 == (3 & n_665X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_665X))) + -4))))>>2))))) {
            goto L36685;}
          else {
            goto L36686;}}
        else {
          goto L36686;}}}
      break;
    case 65 : {
      n_666X = SvalS;
      if ((0 == (3 & n_666X))) {
        goto L36756;}
      else {
        if ((3 == (3 & n_666X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_666X))) + -4))))>>2))))) {
            goto L36756;}
          else {
            goto L36759;}}
        else {
          goto L36759;}}}
      break;
    case 66 : {
      n_667X = SvalS;
      if ((0 == (3 & n_667X))) {
        goto L36832;}
      else {
        if ((3 == (3 & n_667X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_667X))) + -4))))>>2))))) {
            goto L36832;}
          else {
            goto L36833;}}
        else {
          goto L36833;}}}
      break;
    case 67 : {
      n_668X = SvalS;
      if ((0 == (3 & n_668X))) {
        goto L36903;}
      else {
        if ((3 == (3 & n_668X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_668X))) + -4))))>>2))))) {
            goto L36903;}
          else {
            goto L36906;}}
        else {
          goto L36906;}}}
      break;
    case 68 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 69 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 70 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 71 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 72 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 73 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 74 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 75 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 76 : {
      x_669X = SvalS;
      if ((0 == (3 & x_669X))) {
        if ((x_669X < 0)) {
          arg0K0 = x_669X;
          goto L24141;}
        else {
          goto L50555;}}
      else {
        v_670X = s48_bignum_test((((char *) (-3 + x_669X))));
        if ((-1 == v_670X)) {
          arg0K0 = x_669X;
          goto L24141;}
        else {
          goto L50555;}}}
      break;
    case 77 : {
      x_671X = SvalS;
      if ((0 == (3 & x_671X))) {
        goto L24051;}
      else {
        if ((3 == (3 & x_671X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_671X))) + -4))))>>2))))) {
            goto L24051;}
          else {
            goto L24054;}}
        else {
          goto L24054;}}}
      break;
    case 78 : {
      arg0K0 = (SvalS);
      goto L24141;}
      break;
    case 79 : {
      arg2_672X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_672X;
      arg0K1 = (SvalS);
      goto L24172;}
      break;
    case 80 : {
      arg2_673X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_673X;
      arg0K1 = (SvalS);
      goto L24172;}
      break;
    case 81 : {
      arg2_674X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_674X;
      arg0K1 = (SvalS);
      goto L24172;}
      break;
    case 82 : {
      x_675X = SvalS;
      if ((0 == (3 & x_675X))) {
        SvalS = (~ (3 | x_675X));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        if ((0 == (3 & x_675X))) {
          goto L37066;}
        else {
          if ((3 == (3 & x_675X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_675X))) + -4))))>>2))))) {
              goto L37066;}
            else {
              goto L37069;}}
          else {
            goto L37069;}}}}
      break;
    case 83 : {
      x_676X = SvalS;
      if ((0 == (3 & x_676X))) {
        x_677X = ((x_676X)>>2);
        if ((x_677X < 0)) {
          arg0K0 = (~ x_677X);
          goto L37173;}
        else {
          arg0K0 = x_677X;
          goto L37173;}}
      else {
        if ((0 == (3 & x_676X))) {
          goto L37156;}
        else {
          if ((3 == (3 & x_676X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_676X))) + -4))))>>2))))) {
              goto L37156;}
            else {
              goto L37159;}}
          else {
            goto L37159;}}}}
      break;
    case 84 : {
      arg2_678X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_679X = SvalS;
      if ((0 == (3 & (arg2_678X | y_679X)))) {
        SvalS = (arg2_678X & y_679X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        if ((0 == (3 & arg2_678X))) {
          goto L37274;}
        else {
          if ((3 == (3 & arg2_678X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_678X))) + -4))))>>2))))) {
              goto L37274;}
            else {
              goto L37283;}}
          else {
            goto L37283;}}}}
      break;
    case 85 : {
      arg2_680X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_681X = SvalS;
      if ((0 == (3 & (arg2_680X | y_681X)))) {
        SvalS = (arg2_680X | y_681X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        if ((0 == (3 & arg2_680X))) {
          goto L37453;}
        else {
          if ((3 == (3 & arg2_680X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_680X))) + -4))))>>2))))) {
              goto L37453;}
            else {
              goto L37462;}}
          else {
            goto L37462;}}}}
      break;
    case 86 : {
      arg2_682X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_683X = SvalS;
      if ((0 == (3 & (arg2_682X | y_683X)))) {
        SvalS = (arg2_682X ^ y_683X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        if ((0 == (3 & arg2_682X))) {
          goto L37632;}
        else {
          if ((3 == (3 & arg2_682X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_682X))) + -4))))>>2))))) {
              goto L37632;}
            else {
              goto L37641;}}
          else {
            goto L37641;}}}}
      break;
    case 87 : {
      arg2_684X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_685X = SvalS;
      if ((3 == (3 & y_685X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_685X))) + -4))))>>2))))) {
          v_686X = s48_bignum_test((((char *) (-3 + y_685X))));
          if ((1 == v_686X)) {
            code_687X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_687X)))))<<2)), code_687X, 24, 4);
            n_688X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_688X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (24);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_684X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_685X);
            arg0K0 = 2;
            goto L23535;}
          else {
            if ((0 == (3 & arg2_684X))) {
              if ((arg2_684X < 0)) {
                arg0K0 = -4;
                goto L33747;}
              else {
                arg0K0 = 0;
                goto L33747;}}
            else {
              if ((3 == (3 & arg2_684X))) {
                if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_684X))) + -4))))>>2))))) {
                  v_689X = s48_bignum_test((((char *) (-3 + arg2_684X))));
                  if ((1 == v_689X)) {
                    arg0K0 = 0;
                    goto L33763;}
                  else {
                    arg0K0 = -4;
                    goto L33763;}}
                else {
                  goto L33764;}}
              else {
                goto L33764;}}}}
        else {
          goto L43858;}}
      else {
        goto L43858;}}
      break;
    case 88 : {
      x_690X = SvalS;
      if ((9 == (255 & x_690X))) {
        arg0K0 = 5;
        goto L50616;}
      else {
        arg0K0 = 1;
        goto L50616;}}
      break;
    case 89 : {
      arg2_691X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_691X))) {
        if ((9 == (255 & (SvalS)))) {
          x_692X = SvalS;
          if ((arg2_691X == x_692X)) {
            arg0K0 = 5;
            goto L41071;}
          else {
            arg0K0 = 1;
            goto L41071;}}
        else {
          goto L41042;}}
      else {
        goto L41042;}}
      break;
    case 90 : {
      arg2_693X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_693X))) {
        if ((9 == (255 & (SvalS)))) {
          x_694X = SvalS;
          if ((arg2_693X < x_694X)) {
            arg0K0 = 5;
            goto L40963;}
          else {
            arg0K0 = 1;
            goto L40963;}}
        else {
          goto L40934;}}
      else {
        goto L40934;}}
      break;
    case 91 : {
      if ((9 == (255 & (SvalS)))) {
        SvalS = ((((((unsigned char) (((char) ((((SvalS))>>8)))))))<<2));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        code_695X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_695X)))))<<2)), code_695X, 20, 4);
        n_696X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_696X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_697X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_697X);
        arg0K0 = 1;
        goto L23535;}}
      break;
    case 92 : {
      if ((0 == (3 & (SvalS)))) {
        x_698X = (((SvalS))>>2);
        if ((255 < x_698X)) {
          goto L37802;}
        else {
          if ((x_698X < 0)) {
            goto L37802;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) x_698X)))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L24827;}}}
      else {
        code_699X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_699X)))))<<2)), code_699X, 20, 4);
        n_700X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_700X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_701X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_701X);
        arg0K0 = 1;
        goto L23535;}}
      break;
    case 93 : {
      x_702X = SvalS;
      if ((21 == x_702X)) {
        arg0K0 = 5;
        goto L50636;}
      else {
        arg0K0 = 1;
        goto L50636;}}
      break;
    case 94 : {
      x_703X = SvalS;
      type_704X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & x_703X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + x_703X))) + -4))))>>2))) == type_704X)) {
          arg0K0 = 5;
          goto L50650;}
        else {
          arg0K0 = 1;
          goto L50650;}}
      else {
        arg0K0 = 1;
        goto L50650;}}
      break;
    case 95 : {
      stob_705X = SvalS;
      type_706X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_705X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_705X))) + -4))))>>2))) == type_706X)) {
          SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_705X))) + -4))))>>8))));
          Scode_pointerS = ((Scode_pointerS) + 2);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L27316;}}
      else {
        goto L27316;}}
      break;
    case 96 : {
      len_707X = *((unsigned char *) ((Scode_pointerS) + 1));s48_make_availableAgc((4 + (((len_707X)<<2))));
      type_708X = *((unsigned char *) ((Scode_pointerS) + 2));
      len_709X = ((len_707X)<<2);
      addr_710X = s48_allocate_small((4 + len_709X));
      *((long *) addr_710X) = (long) ((2 + (((((((len_709X)<<6)) + type_708X))<<2))));
      new_711X = 3 + (((long) (addr_710X + 4)));
      if ((len_707X < 1)) {
        goto L27437;}
      else {
        *((long *) ((((char *) (-3 + new_711X))) + (-4 + (((len_707X)<<2))))) = (long) ((SvalS));
        arg0K0 = (-2 + len_707X);
        goto L27421;}}
      break;
    case 97 : {
      p_712X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      len_713X = ((p_712X)>>2);s48_make_availableAgc((4 + (((len_713X)<<2))));
      type_714X = *((unsigned char *) ((Scode_pointerS) + 1));
      len_715X = ((len_713X)<<2);
      addr_716X = s48_allocate_small((4 + len_715X));
      *((long *) addr_716X) = (long) ((2 + (((((((len_715X)<<6)) + type_714X))<<2))));
      new_717X = 3 + (((long) (addr_716X + 4)));
      p_718X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_719X = ((p_718X)>>2);
      rest_list_720X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = (-1 + stack_nargs_719X);
      goto L27555;}
      break;
    case 98 : {
      stob_721X = SvalS;
      offset_722X = *((unsigned char *) ((Scode_pointerS) + 2));
      type_723X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_721X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_721X))) + -4))))>>2))) == type_723X)) {
          SvalS = (*((long *) ((((char *) (-3 + stob_721X))) + (((offset_722X)<<2)))));
          Scode_pointerS = ((Scode_pointerS) + 3);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L27723;}}
      else {
        goto L27723;}}
      break;
    case 99 : {
      arg2_724X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_725X = SvalS;
      offset_726X = *((unsigned char *) ((Scode_pointerS) + 2));
      type_727X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & arg2_724X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + arg2_724X))) + -4))))>>2))) == type_727X)) {
          if ((3 == (3 & arg2_724X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg2_724X))) + -4)))))) {
              v_728X = *((unsigned char *) ((Scode_pointerS) + 3));
              if ((0 == v_728X)) {
                goto L27856;}
              else {
                if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                  goto L27856;}
                else {
                  merged_arg0K0 = arg2_724X;
                  merged_arg0K1 = (((offset_726X)<<2));
                  merged_arg0K2 = value_725X;
                  proposal_d_write_return_tag = 0;
                  goto proposal_d_write;
                 proposal_d_write_return_0:
                  goto L27865;}}}
            else {
              goto L27866;}}
          else {
            goto L27866;}}
        else {
          goto L27866;}}
      else {
        goto L27866;}}
      break;
    case 100 : {
      arg2_729X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      init_730X = SvalS;
      type_731X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_729X))) {
        len_732X = ((arg2_729X)>>2);
        if ((len_732X < 0)) {
          goto L28099;}
        else {
          if ((4194304 < len_732X)) {
            goto L28099;}
          else {
            Stemp0S = init_730X;
            len_733X = ((len_732X)<<2);
            addr_734X = s48_allocate_tracedAgc((4 + len_733X));
            if ((addr_734X == NULL)) {
              arg0K0 = 1;
              goto L28116;}
            else {
              *((long *) addr_734X) = (long) ((2 + (((((((len_733X)<<6)) + type_731X))<<2))));
              arg0K0 = (3 + (((long) (addr_734X + 4))));
              goto L28116;}}}}
      else {
        code_735X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_735X)))))<<2)), code_735X, 20, 8);
        n_736X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_736X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((type_731X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_729X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (init_730X);
        arg0K0 = 3;
        goto L23535;}}
      break;
    case 101 : {
      arg2_737X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      index_738X = SvalS;
      type_739X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & index_738X))) {
        if ((3 == (3 & arg2_737X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg2_737X))) + -4))))>>2))) == type_739X)) {
            len_740X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_737X))) + -4))))>>8))))>>2);
            index_741X = ((index_738X)>>2);
            if ((index_741X < 0)) {
              goto L28437;}
            else {
              if ((index_741X < len_740X)) {
                v_742X = *((unsigned char *) ((Scode_pointerS) + 2));
                if ((0 == v_742X)) {
                  goto L28427;}
                else {
                  if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                    goto L28427;}
                  else {
                    merged_arg0K0 = arg2_737X;
                    merged_arg0K1 = index_738X;
                    proposal_d_read_return_tag = 0;
                    goto proposal_d_read;
                   proposal_d_read_return_0:
                    v_743X = proposal_d_read0_return_value;
                    arg0K0 = v_743X;
                    goto L28436;}}}
              else {
                goto L28437;}}}
          else {
            goto L28392;}}
        else {
          goto L28392;}}
      else {
        goto L28392;}}
      break;
    case 102 : {
      arg2_744X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_745X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_746X = SvalS;
      type_747X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_744X))) {
        if ((3 == (3 & arg3_745X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg3_745X))) + -4))))>>2))) == type_747X)) {
            if ((3 == (3 & arg3_745X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_745X))) + -4)))))) {
                len_748X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_745X))) + -4))))>>8))))>>2);
                index_749X = ((arg2_744X)>>2);
                if ((index_749X < 0)) {
                  goto L28756;}
                else {
                  if ((index_749X < len_748X)) {
                    v_750X = *((unsigned char *) ((Scode_pointerS) + 2));
                    if ((0 == v_750X)) {
                      goto L28746;}
                    else {
                      if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                        goto L28746;}
                      else {
                        merged_arg0K0 = arg3_745X;
                        merged_arg0K1 = arg2_744X;
                        merged_arg0K2 = value_746X;
                        proposal_d_write_return_tag = 1;
                        goto proposal_d_write;
                       proposal_d_write_return_1:
                        goto L28755;}}}
                  else {
                    goto L28756;}}}
              else {
                goto L28709;}}
            else {
              goto L28709;}}
          else {
            goto L28709;}}
        else {
          goto L28709;}}
      else {
        goto L28709;}}
      break;
    case 103 : {
      arg2_751X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (arg2_751X | (SvalS))))) {
        len_752X = ((arg2_751X)>>2);
        init_753X = (((SvalS))>>2);
        if ((len_752X < 0)) {
          goto L37885;}
        else {
          if ((4194304 < ((((3 + len_752X))>>2)))) {
            goto L37885;}
          else {
            addr_754X = s48_allocate_untracedAgc((4 + len_752X));
            if ((addr_754X == NULL)) {
              arg0K0 = 1;
              goto L37898;}
            else {
              *((long *) addr_754X) = (long) ((74 + (((len_752X)<<8))));
              arg0K0 = (3 + (((long) (addr_754X + 4))));
              goto L37898;}}}}
      else {
        code_755X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_755X)))))<<2)), code_755X, 20, 4);
        n_756X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_756X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_751X);
        x_757X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_757X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 104 : {
      obj_758X = SvalS;
      if ((3 == (3 & obj_758X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + obj_758X))) + -4))))>>2))))) {
          SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L49709;}}
      else {
        goto L49709;}}
      break;
    case 105 : {
      arg2_759X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_759X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_759X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_760X = (((SvalS))>>2);
            len_761X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_759X))) + -4))))>>8);
            if ((index_760X < 0)) {
              goto L45357;}
            else {
              if ((index_760X < len_761X)) {
                SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_759X))) + index_760X))))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L24827;}
              else {
                goto L45357;}}}
          else {
            goto L48766;}}
        else {
          goto L48766;}}
      else {
        goto L48766;}}
      break;
    case 106 : {
      arg2_762X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_763X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_763X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_763X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_762X | (SvalS))))) {
            index_764X = ((arg2_762X)>>2);
            Kchar_765X = (((SvalS))>>2);
            if ((3 == (3 & arg3_763X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_763X))) + -4)))))) {
                len_766X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_763X))) + -4))))>>8);
                if ((index_764X < 0)) {
                  goto L42427;}
                else {
                  if ((index_764X < len_766X)) {
                    *((unsigned char *) ((((char *) (-3 + arg3_763X))) + index_764X)) = (unsigned char) (Kchar_765X);
                    SvalS = 13;
                    Scode_pointerS = ((Scode_pointerS) + 1);
                    arg1K0 = (Scode_pointerS);
                    goto L24827;}
                  else {
                    goto L42427;}}}
              else {
                goto L42406;}}
            else {
              goto L42406;}}
          else {
            goto L47314;}}
        else {
          goto L47314;}}
      else {
        goto L47314;}}
      break;
    case 107 : {
      arg2_767X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_767X))) {
        if ((9 == (255 & (SvalS)))) {
          len_768X = ((arg2_767X)>>2);
          init_769X = ((char) ((((SvalS))>>8)));
          if ((len_768X < 0)) {
            goto L38097;}
          else {
            if ((4194304 < ((((4 + len_768X))>>2)))) {
              goto L38097;}
            else {
              len_770X = 1 + len_768X;
              addr_771X = s48_allocate_untracedAgc((4 + len_770X));
              if ((addr_771X == NULL)) {
                arg0K0 = 1;
                goto L38110;}
              else {
                *((long *) addr_771X) = (long) ((70 + (((len_770X)<<8))));
                arg0K0 = (3 + (((long) (addr_771X + 4))));
                goto L38110;}}}}
        else {
          goto L45454;}}
      else {
        goto L45454;}}
      break;
    case 108 : {
      obj_772X = SvalS;
      if ((3 == (3 & obj_772X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_772X))) + -4))))>>2))))) {
          SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L49775;}}
      else {
        goto L49775;}}
      break;
    case 109 : {
      arg2_773X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_773X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_773X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_774X = (((SvalS))>>2);
            len_775X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_773X))) + -4))))>>8));
            if ((index_774X < 0)) {
              goto L45535;}
            else {
              if ((index_774X < len_775X)) {
                SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_773X))) + index_774X))))))))<<8)));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L24827;}
              else {
                goto L45535;}}}
          else {
            goto L48880;}}
        else {
          goto L48880;}}
      else {
        goto L48880;}}
      break;
    case 110 : {
      arg2_776X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_777X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_777X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_777X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_776X))) {
            if ((9 == (255 & (SvalS)))) {
              index_778X = ((arg2_776X)>>2);
              Kchar_779X = ((char) ((((SvalS))>>8)));
              if ((3 == (3 & arg3_777X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_777X))) + -4)))))) {
                  len_780X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_777X))) + -4))))>>8));
                  if ((index_778X < 0)) {
                    goto L42614;}
                  else {
                    if ((index_778X < len_780X)) {
                      *((unsigned char *) ((((char *) (-3 + arg3_777X))) + index_778X)) = (unsigned char) ((((unsigned char) Kchar_779X)));
                      SvalS = 13;
                      Scode_pointerS = ((Scode_pointerS) + 1);
                      arg1K0 = (Scode_pointerS);
                      goto L24827;}
                    else {
                      goto L42614;}}}
                else {
                  goto L42593;}}
              else {
                goto L42593;}}
            else {
              goto L47460;}}
          else {
            goto L47460;}}
        else {
          goto L47460;}}
      else {
        goto L47460;}}
      break;
    case 111 : {s48_make_availableAgc(12);
      obj_781X = SvalS;
      if ((3 == (3 & obj_781X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_781X))) + -4))))>>2))))) {
          table_782X = Sthe_symbol_tableS;
          string_783X = SvalS;
          n_784X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_783X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L21406;}
        else {
          goto L33941;}}
      else {
        goto L33941;}}
      break;
    case 112 : {
      obj_785X = SvalS;
      if ((3 == (3 & obj_785X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_785X))) + -4))))>>2))))) {
          x_786X = SvalS;
          descriptor_787X = *((long *) ((((char *) (-3 + x_786X))) + 4));
          if ((17 == (255 & descriptor_787X))) {
            if ((529 == (*((long *) ((((char *) (-3 + x_786X))) + 4))))) {
              arg0K0 = 5;
              goto L46944;}
            else {
              arg0K0 = 1;
              goto L46944;}}
          else {
            arg0K0 = 5;
            goto L46944;}}
        else {
          goto L46925;}}
      else {
        goto L46925;}}
      break;
    case 113 : {
      arg2_788X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_788X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_788X))) + -4))))>>2))))) {
          x_789X = SvalS;
          if ((1 == x_789X)) {
            goto L42172;}
          else {
            if ((5 == x_789X)) {
              goto L42172;}
            else {
              goto L42179;}}}
        else {
          goto L42179;}}
      else {
        goto L42179;}}
      break;
    case 114 : {
      x_790X = SvalS;
      if ((3 == (3 & x_790X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_790X))) + -4)))))) {
          arg0K0 = 1;
          goto L50717;}
        else {
          arg0K0 = 5;
          goto L50717;}}
      else {
        arg0K0 = 5;
        goto L50717;}}
      break;
    case 115 : {
      x_791X = SvalS;
      if ((3 == (3 & x_791X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_791X))) + -4)))))) {
          *((long *) ((((char *) (-3 + x_791X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_791X))) + -4)))));
          goto L45633;}
        else {
          goto L45633;}}
      else {
        goto L45633;}}
      break;
    case 116 : {s48_make_availableAgc(292);
      arg2_792X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_793X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_792X))) {
        mode_794X = ((arg2_792X)>>2);
        close_silentlyP_795X = SvalS;
        if ((1 == mode_794X)) {
          goto L38553;}
        else {
          if ((2 == mode_794X)) {
            goto L38553;}
          else {
            if ((3 == mode_794X)) {
              goto L38553;}
            else {
              if ((4 == mode_794X)) {
                goto L38553;}
              else {
                arg0K0 = 5;
                goto L38327;}}}}}
      else {
        code_796X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_796X)))))<<2)), code_796X, 20, 4);
        n_797X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_797X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_793X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_792X);
        x_798X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_798X);
        arg0K0 = 3;
        goto L23535;}}
      break;
    case 117 : {s48_make_availableAgc(264);
      obj_799X = SvalS;
      if ((3 == (3 & obj_799X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_799X))) + -4))))>>2))))) {
          channel_800X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_800X))))))) {
            code_801X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_801X)))))<<2)), code_801X, 20, 4);
            n_802X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_802X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (20);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_800X);
            arg0K0 = 1;
            goto L23535;}
          else {
            status_803X = close_channelB(channel_800X);
            if ((status_803X == NO_ERRORS)) {
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L24827;}
            else {
              code_804X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_804X)))))<<2)), code_804X, 96, 4);
              n_805X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_805X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (96);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_800X);
              merged_arg0K0 = status_803X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 0;
              goto get_error_string;
             get_error_string_return_0:
              x_806X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_806X);
              arg0K0 = 2;
              goto L23535;}}}
        else {
          goto L47588;}}
      else {
        goto L47588;}}
      break;
    case 118 : {s48_make_availableAgc(264);
      arg2_807X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_808X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_809X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_810X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_810X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg5_810X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg3_808X | arg2_807X)))) {
            x_811X = SvalS;
            if ((1 == x_811X)) {
              goto L45820;}
            else {
              if ((5 == x_811X)) {
                goto L45820;}
              else {
                goto L45831;}}}
          else {
            goto L45831;}}
        else {
          goto L45831;}}
      else {
        goto L45831;}}
      break;
    case 119 : {s48_make_availableAgc(264);
      arg2_812X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_813X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_814X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_814X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg4_814X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_812X | (SvalS))))) {
            start_815X = ((arg2_812X)>>2);
            count_816X = (((SvalS))>>2);
            v_817X = 8 == (*((long *) (((char *) (-3 + arg4_814X)))));
            if (v_817X) {
              if ((3 == (3 & arg3_813X))) {
                if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_813X))) + -4))))>>2))))) {
                  goto L39152;}
                else {
                  goto L39359;}}
              else {
                goto L39359;}}
            else {
              goto L39206;}}
          else {
            goto L46050;}}
        else {
          goto L46050;}}
      else {
        goto L46050;}}
      break;
    case 120 : {s48_make_availableAgc(264);
      obj_818X = SvalS;
      if ((3 == (3 & obj_818X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_818X))) + -4))))>>2))))) {
          channel_819X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_819X))))))) {
            code_820X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_820X)))))<<2)), code_820X, 20, 4);
            n_821X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_821X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (20);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_819X);
            arg0K0 = 1;
            goto L23535;}
          else {
            readyP_822X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_819X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_819X)))))), &status_823X);
            if ((status_823X == NO_ERRORS)) {
              if (readyP_822X) {
                arg0K0 = 5;
                goto L41770;}
              else {
                arg0K0 = 1;
                goto L41770;}}
            else {
              code_824X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_824X)))))<<2)), code_824X, 96, 4);
              n_825X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_825X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (96);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_819X);
              merged_arg0K0 = status_823X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 1;
              goto get_error_string;
             get_error_string_return_1:
              x_826X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_826X);
              arg0K0 = 2;
              goto L23535;}}}
        else {
          goto L47006;}}
      else {
        goto L47006;}}
      break;
    case 121 : {
      obj_827X = SvalS;
      if ((3 == (3 & obj_827X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_827X))) + -4))))>>2))))) {
          channel_828X = SvalS;
          head_829X = Spending_channels_headS;
          if ((1 == head_829X)) {
            addr_830X = (((char *) (-3 + channel_828X))) + 20;S48_WRITE_BARRIER(channel_828X, addr_830X, 1);
            *((long *) addr_830X) = (long) (1);
            n_831X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_828X))) + 8))))>>2)));
            arg0K0 = (((n_831X)<<2));
            goto L46214;}
          else {
            if ((channel_828X == head_829X)) {
              channel_832X = Spending_channels_headS;
              next_833X = *((long *) ((((char *) (-3 + channel_832X))) + 16));
              Spending_channels_headS = next_833X;
              addr_834X = (((char *) (-3 + channel_832X))) + 16;S48_WRITE_BARRIER(channel_832X, addr_834X, 1);
              *((long *) addr_834X) = (long) (1);
              if ((1 == next_833X)) {
                Spending_channels_tailS = 1;
                goto L11348;}
              else {
                goto L11348;}}
            else {
              arg0K0 = (*((long *) ((((char *) (-3 + head_829X))) + 16)));
              arg0K1 = head_829X;
              goto L11354;}}}
        else {
          goto L46197;}}
      else {
        goto L46197;}}
      break;
    case 122 : {s48_make_availableAgc(((((3 * (Snumber_of_channelsS)))<<2)));
      arg0K0 = (-1 + (Snumber_of_channelsS));
      arg0K1 = 25;
      goto L17844;}
      break;
    case 123 : {
      SvalS = (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)));
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 124 : {
      proposal_835X = SvalS;
      if ((1 == proposal_835X)) {
        goto L39492;}
      else {
        if ((3 == (3 & proposal_835X))) {
          if ((2 == (31 & ((((*((long *) ((((char *) (-3 + proposal_835X))) + -4))))>>2))))) {
            if ((4 == ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proposal_835X))) + -4))))>>8))))>>2)))) {
              if ((1 == (*((long *) (((char *) (-3 + proposal_835X))))))) {
                goto L39492;}
              else {
                goto L39523;}}
            else {
              goto L39523;}}
          else {
            goto L39523;}}
        else {
          goto L39523;}}}
      break;
    case 125 : {
      proposal_836X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
      if ((1 == proposal_836X)) {
        code_837X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_837X)))))<<2)), code_837X, 104, 4);
        n_838X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_838X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (104);
        arg0K0 = 0;
        goto L23535;}
      else {GET_PROPOSAL_LOCK();
        log_839X = *((long *) ((((char *) (-3 + proposal_836X))) + 4));
        arg0K0 = 0;
        goto L10101;}}
      break;
    case 126 : {
      stob_840X = SvalS;
      offset_841X = *((unsigned char *) ((Scode_pointerS) + 2));
      type_842X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_840X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_840X))) + -4))))>>2))) == type_842X)) {
          x_843X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
          if ((1 == x_843X)) {
            arg0K0 = (*((long *) ((((char *) (-3 + stob_840X))) + (((offset_841X)<<2)))));
            goto L29086;}
          else {
            merged_arg0K0 = stob_840X;
            merged_arg0K1 = (((offset_841X)<<2));
            proposal_d_read_return_tag = 1;
            goto proposal_d_read;
           proposal_d_read_return_1:
            v_844X = proposal_d_read0_return_value;
            arg0K0 = v_844X;
            goto L29086;}}
        else {
          goto L29087;}}
      else {
        goto L29087;}}
      break;
    case 127 : {
      arg2_845X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_846X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_847X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_848X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & ((arg4_847X | arg2_845X) | (SvalS))))) {
        from_index_849X = ((arg4_847X)>>2);
        to_index_850X = ((arg2_845X)>>2);
        count_851X = (((SvalS))>>2);
        v_852X = *((unsigned char *) ((Scode_pointerS) + 1));
        merged_arg0K0 = arg5_848X;
        merged_arg0K1 = from_index_849X;
        merged_arg0K2 = count_851X;
        okay_copy_argsP_return_tag = 0;
        goto okay_copy_argsP;
       okay_copy_argsP_return_0:
        v_853X = okay_copy_argsP0_return_value;
        if (v_853X) {
          merged_arg0K0 = arg3_846X;
          merged_arg0K1 = to_index_850X;
          merged_arg0K2 = count_851X;
          okay_copy_argsP_return_tag = 1;
          goto okay_copy_argsP;
         okay_copy_argsP_return_1:
          v_854X = okay_copy_argsP0_return_value;
          if (v_854X) {
            if ((3 == (3 & arg3_846X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_846X))) + -4)))))) {
                if ((count_851X < 0)) {
                  goto L29196;}
                else {
                  if ((0 == v_852X)) {
                    goto L29256;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L29256;}
                    else {
                      arg0K0 = 4096;
                      arg0K1 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 12)));
                      goto L29360;}}}}
              else {
                goto L29196;}}
            else {
              goto L29196;}}
          else {
            goto L29196;}}
        else {
          goto L29196;}}
      else {
        code_855X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_855X)))))<<2)), code_855X, 20, 4);
        n_856X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_856X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg5_848X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_847X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_846X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_845X);
        x_857X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_857X);
        arg0K0 = 5;
        goto L23535;}}
      break;
    case 128 : {
      arg2_858X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_858X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_858X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_859X = (((SvalS))>>2);
            len_860X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_858X))) + -4))))>>8);
            if ((index_859X < 0)) {
              goto L29569;}
            else {
              if ((index_859X < len_860X)) {
                x_861X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                if ((1 == x_861X)) {
                  arg0K0 = ((((*((unsigned char *) ((((char *) (-3 + arg2_858X))) + index_859X))))<<2));
                  goto L29568;}
                else {
                  index_862X = ((index_859X)<<2);
                  log_863X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                  arg0K0 = 0;
                  goto L15442;}}
              else {
                goto L29569;}}}
          else {
            goto L33135;}}
        else {
          goto L33135;}}
      else {
        goto L33135;}}
      break;
    case 129 : {
      arg2_864X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_865X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_865X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_865X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_864X))) {
            index_866X = ((arg2_864X)>>2);
            byte_867X = SvalS;
            if ((3 == (3 & arg3_865X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_865X))) + -4)))))) {
                if ((0 == (3 & byte_867X))) {
                  len_868X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_865X))) + -4))))>>8);
                  if ((index_866X < 0)) {
                    goto L29711;}
                  else {
                    if ((index_866X < len_868X)) {
                      x_869X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                      if ((1 == x_869X)) {
                        *((unsigned char *) ((((char *) (-3 + arg3_865X))) + index_866X)) = (unsigned char) ((((byte_867X)>>2)));
                        goto L29710;}
                      else {
                        index_870X = ((index_866X)<<2);
                        log_871X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                        arg0K0 = 0;
                        goto L15618;}}
                    else {
                      goto L29711;}}}
                else {
                  goto L29676;}}
              else {
                goto L29676;}}
            else {
              goto L29676;}}
          else {
            goto L33256;}}
        else {
          goto L33256;}}
      else {
        goto L33256;}}
      break;
    case 130 : {
      SvalS = 529;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 131 : {
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 132 : {
      arg_872X = SvalS;
      code_873X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_873X)))))<<2)), code_873X, 60, 4);
      n_874X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_874X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (60);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg_872X);
      arg0K0 = 1;
      goto L23535;}
      break;
    case 133 : {
      SvalS = 1;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 134 : {
      SvalS = 21;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 135 : {s48_make_availableAgc(264);
      arg2_875X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_876X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_877X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_877X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_877X))) + -4))))>>2))))) {
          if ((3 == (3 & arg2_875X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_875X))) + -4))))>>2))))) {
              obj_878X = SvalS;
              if ((3 == (3 & obj_878X))) {
                if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_878X))) + -4))))>>2))))) {
                  undumpables_879X = SvalS;
                  port_880X = ps_open_output_file((((char *)(((char *) (-3 + arg4_877X))))), &status_881X);
                  if ((status_881X == NO_ERRORS)) {
                    status_882X = ps_write_string((((char *)(((char *) (-3 + arg2_875X))))), port_880X);
                    if ((status_882X == NO_ERRORS)) {
                      status_883X = s48_write_image(arg3_876X, undumpables_879X, port_880X);
                      if ((status_883X == NO_ERRORS)) {
                        status_884X = ps_close(port_880X);
                        if ((status_884X == NO_ERRORS)) {
                          SvalS = 13;
                          Scode_pointerS = ((Scode_pointerS) + 1);
                          arg1K0 = (Scode_pointerS);
                          goto L24827;}
                        else {
                          arg0K0 = 24;
                          arg0K1 = status_884X;
                          goto L42906;}}
                      else {
                        status_885X = ps_close(port_880X);
                        if ((status_885X == NO_ERRORS)) {
                          arg0K0 = 24;
                          arg0K1 = status_883X;
                          goto L42906;}
                        else {
                          ps_write_string("Unable to close image file", (stderr));
                          { long ignoreXX;
                          PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                          arg0K0 = 24;
                          arg0K1 = status_883X;
                          goto L42906;}}}
                    else {
                      status_886X = ps_close(port_880X);
                      if ((status_886X == NO_ERRORS)) {
                        arg0K0 = 24;
                        arg0K1 = status_882X;
                        goto L42906;}
                      else {
                        ps_write_string("Unable to close image file", (stderr));
                        { long ignoreXX;
                        PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                        arg0K0 = 24;
                        arg0K1 = status_882X;
                        goto L42906;}}}
                  else {
                    arg0K0 = 10;
                    arg0K1 = status_881X;
                    goto L42906;}}
                else {
                  goto L47693;}}
              else {
                goto L47693;}}
            else {
              goto L47693;}}
          else {
            goto L47693;}}
        else {
          goto L47693;}}
      else {
        goto L47693;}}
      break;
    case 136 : {
      SvalS = 13;s48_collect();
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 137 : {
      obj_887X = SvalS;
      if ((3 == (3 & obj_887X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_887X))) + -4))))>>2))))) {
          x_888X = SvalS;
          n_889X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_888X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L48446;}
        else {
          goto L48423;}}
      else {
        goto L48423;}}
      break;
    case 138 : {s48_make_availableAgc(24);
      arg2_890X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      proc_891X = SvalS;
      if ((3 == (3 & arg2_890X))) {
        if ((3 == (3 & proc_891X))) {
          if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_891X))) + -4))))>>2))))) {GET_PROPOSAL_LOCK();
            addr_892X = s48_allocate_small(12);
            *((long *) addr_892X) = (long) (2050);
            x_893X = 3 + (((long) (addr_892X + 4)));
            *((long *) (((char *) (-3 + x_893X)))) = (long) (arg2_890X);
            *((long *) ((((char *) (-3 + x_893X))) + 4)) = (long) (proc_891X);
            b_894X = SHARED_REF((Sfinalizer_alistS));
            addr_895X = s48_allocate_small(12);
            *((long *) addr_895X) = (long) (2050);
            x_896X = 3 + (((long) (addr_895X + 4)));
            *((long *) (((char *) (-3 + x_896X)))) = (long) (x_893X);
            *((long *) ((((char *) (-3 + x_896X))) + 4)) = (long) (b_894X);SHARED_SETB((Sfinalizer_alistS), x_896X);RELEASE_PROPOSAL_LOCK();
            SvalS = 13;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L24827;}
          else {
            goto L43197;}}
        else {
          goto L43197;}}
      else {
        goto L43197;}}
      break;
    case 139 : {
      arg2_897X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_897X))) {
        key_898X = ((arg2_897X)>>2);
        other_899X = SvalS;
        if ((5 == key_898X)) {
          SvalS = (-4 & other_899X);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          if ((0 == key_898X)) {
            x_900X = s48_available();
            SvalS = (((x_900X)<<2));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L24827;}
          else {
            if ((1 == key_898X)) {
              bytes_901X = s48_heap_size();
              SvalS = (-4 & (3 + bytes_901X));
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L24827;}
            else {
              if ((2 == key_898X)) {
                SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L24827;}
              else {
                if ((3 == key_898X)) {
                  x_902X = s48_gc_count();
                  SvalS = (((x_902X)<<2));
                  Scode_pointerS = ((Scode_pointerS) + 1);
                  arg1K0 = (Scode_pointerS);
                  goto L24827;}
                else {
                  if ((4 == key_898X)) {
                    code_903X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_903X)))))<<2)), code_903X, 56, 4);
                    n_904X = *((unsigned char *) (Scode_pointerS));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((n_904X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (56);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_898X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_899X);
                    arg0K0 = 2;
                    goto L23535;}
                  else {
                    code_905X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_905X)))))<<2)), code_905X, 68, 4);
                    n_906X = *((unsigned char *) (Scode_pointerS));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((n_906X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (68);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_898X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_899X);
                    arg0K0 = 2;
                    goto L23535;}}}}}}}
      else {
        code_907X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_907X)))))<<2)), code_907X, 20, 4);
        n_908X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_908X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_897X);
        x_909X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_909X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 140 : {
      if ((0 == (3 & (SvalS)))) {
        type_910X = (((SvalS))>>2);
        arg2K0 = 1;
        goto L39956;}
      else {
        code_911X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_911X)))))<<2)), code_911X, 20, 4);
        n_912X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_912X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_913X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_913X);
        arg0K0 = 1;
        goto L23535;}}
      break;
    case 141 : {
      type_914X = SvalS;
      arg2K0 = 1;
      arg0K1 = type_914X;
      goto L40044;}
      break;
    case 142 : {
      SvalS = (Scurrent_threadS);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 143 : {
      Scurrent_threadS = (SvalS);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 144 : {
      val_915X = SHARED_REF((Ssession_dataS));
      SvalS = val_915X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 145 : {SHARED_SETB((Ssession_dataS), (SvalS));
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L24827;}
      break;
    case 146 : {
      obj_916X = SvalS;
      if ((3 == (3 & obj_916X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_916X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 169)) {
            goto L26648;}
          else {
            temp_917X = SHARED_REF((Sexception_handlersS));SHARED_SETB((Sexception_handlersS), (SvalS));
            SvalS = temp_917X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L24827;}}
        else {
          goto L26648;}}
      else {
        goto L26648;}}
      break;
    case 147 : {
      data_918X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_919X = *((long *) ((((char *) (-3 + data_918X))) + 8));
      exception_920X = *((long *) ((((char *) (-3 + data_918X))) + 12));
      size_921X = *((long *) ((((char *) (-3 + data_918X))) + 16));
      pc_922X = (((*((long *) ((((char *) (-3 + data_918X))) + 4))))>>2);
      opcode_923X = *((unsigned char *) ((((char *) (-3 + code_919X))) + pc_922X));
      if ((opcode_923X < 43)) {
        if ((4 == opcode_923X)) {
          goto L24941;}
        else {
          Slast_code_calledS = code_919X;
          Scode_pointerS = ((((char *) (-3 + code_919X))) + pc_922X);
          code_924X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_924X)))))<<2)), code_924X, 112, 4);
          n_925X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_925X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (112);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_920X);
          arg0K0 = 1;
          goto L23535;}}
      else {
        goto L24941;}}
      break;
    case 148 : {
      obj_926X = SvalS;
      if ((3 == (3 & obj_926X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_926X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
            goto L25579;}
          else {
            temp_927X = SHARED_REF((Sinterrupt_handlersS));SHARED_SETB((Sinterrupt_handlersS), (SvalS));
            SvalS = temp_927X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L24827;}}
        else {
          goto L25579;}}
      else {
        goto L25579;}}
      break;
    case 149 : {
      old_928X = Senabled_interruptsS;
      p_929X = SvalS;
      Senabled_interruptsS = (((p_929X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L50830;}
        else {
          goto L50830;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L50830;}}
      break;
    case 150 : {
      x_930X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_931X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      Senabled_interruptsS = (((p_931X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L8999;}
        else {
          goto L8999;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L8999;}}
      break;
    case 151 : {
      if ((0 == (3 & (SvalS)))) {
        p_932X = SvalS;
        Spending_interruptsS = (-2 & (Spending_interruptsS));
        if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
          s48_Sstack_limitS = (Sreal_stack_limitS);
          if ((s48_Spending_eventsPS)) {
            s48_Sstack_limitS = (((char *) -1));
            goto L49944;}
          else {
            goto L49944;}}
        else {
          s48_Sstack_limitS = (((char *) -1));
          goto L49944;}}
      else {
        code_933X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_933X)))))<<2)), code_933X, 20, 4);
        n_934X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_934X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_935X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_935X);
        arg0K0 = 1;
        goto L23535;}}
      break;
    case 152 : {
      arg2_936X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_936X))) {
        x_937X = SvalS;
        if ((1 == x_937X)) {
          goto L47177;}
        else {
          if ((5 == x_937X)) {
            goto L47177;}
          else {
            goto L47182;}}}
      else {
        goto L47182;}}
      break;
    case 153 : {
      p_938X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      nargs_939X = ((p_938X)>>2);
      p_940X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      rest_list_941X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((14 < nargs_939X)) {
        code_942X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_942X)))))<<2)), code_942X, 76, 4);
        n_943X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_943X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (76);
        x_944X = *((long *) ((SstackS) + (-4 + (-4 & p_940X))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_944X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (nargs_939X);
        arg0K0 = 2;
        goto L23535;}
      else {
        arg0K0 = rest_list_941X;
        goto L29942;}}
      break;
    case 154 : {s48_make_availableAgc(20);
      arg2_945X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_945X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_945X))) + -4))))>>2))))) {
          x_946X = SvalS;
          if ((1 == x_946X)) {
            goto L46407;}
          else {
            if ((5 == x_946X)) {
              goto L46407;}
            else {
              goto L46412;}}}
        else {
          goto L46412;}}
      else {
        goto L46412;}}
      break;
    case 155 : {
      arg2_947X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_947X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_947X))) + -4))))>>2))))) {
          x_948X = SvalS;
          if ((1 == x_948X)) {
            goto L31758;}
          else {
            if ((5 == x_948X)) {
              goto L31758;}
            else {
              goto L31763;}}}
        else {
          goto L31763;}}
      else {
        goto L31763;}}
      break;
    case 156 : {
      arg2_949X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_949X))) {
        option_950X = ((arg2_949X)>>2);
        other_951X = SvalS;
        if ((2 == option_950X)) {
          x_952X = CHEAP_TIME();
          SvalS = (((x_952X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          if ((0 == option_950X)) {
            seconds_953X = s48_run_time(&mseconds_954X);
            arg0K0 = option_950X;
            arg0K1 = seconds_953X;
            arg0K2 = mseconds_954X;
            goto L48341;}
          else {
            if ((1 == option_950X)) {
              seconds_955X = s48_real_time(&mseconds_956X);
              arg0K0 = option_950X;
              arg0K1 = seconds_955X;
              arg0K2 = mseconds_956X;
              goto L48341;}
            else {
              code_957X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_957X)))))<<2)), code_957X, 68, 4);
              n_958X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_958X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (68);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((option_950X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (other_951X);
              arg0K0 = 2;
              goto L23535;}}}}
      else {
        code_959X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_959X)))))<<2)), code_959X, 20, 4);
        n_960X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_960X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_949X);
        x_961X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_961X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 157 : {
      arg2_962X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_962X))) {
        key_963X = ((arg2_962X)>>2);
        value_964X = SvalS;
        status_965X = s48_extended_vm(key_963X, value_964X);
        if ((0 == status_965X)) {
          SvalS = (s48_Sextension_valueS);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          if ((1 == status_965X)) {
            code_966X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_966X)))))<<2)), code_966X, 88, 4);
            n_967X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_967X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (88);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_963X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_964X);
            arg0K0 = 2;
            goto L23535;}
          else {
            code_968X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_968X)))))<<2)), code_968X, 92, 4);
            n_969X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_969X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (92);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_963X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_964X);
            arg0K0 = 2;
            goto L23535;}}}
      else {
        code_970X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_970X)))))<<2)), code_970X, 20, 4);
        n_971X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_971X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_962X);
        x_972X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_972X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 158 : {
      arg2_973X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_974X = SvalS;
      Senabled_interruptsS = -1;
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L50864;}
        else {
          goto L50864;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L50864;}}
      break;
    case 159 : {
      arg2_975X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_975X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_975X))) + -4))))>>2))))) {
          obj_976X = SvalS;
          if ((3 == (3 & obj_976X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_976X))) + -4))))>>2))))) {
              x_977X = SvalS;
              len_978X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_975X))) + -4))))>>8);
              if ((len_978X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_977X))) + -4))))>>8)))) {
                if (((!memcmp((void *)(((char *) (-3 + x_977X))), (void *)(((char *) (-3 + arg2_975X))),len_978X)))) {
                  arg0K0 = 5;
                  goto L40711;}
                else {
                  arg0K0 = 1;
                  goto L40711;}}
              else {
                arg0K0 = 1;
                goto L40711;}}
            else {
              goto L40676;}}
          else {
            goto L40676;}}
        else {
          goto L40676;}}
      else {
        goto L40676;}}
      break;
    case 160 : {s48_make_availableAgc((4 + (-4 & (4 + ((((SvalS))>>2))))));
      arg2_979X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        n_980X = (((SvalS))>>2);
        if ((3 == (3 & arg2_979X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_979X))) + -4))))>>2))))) {
            goto L40334;}
          else {
            goto L40286;}}
        else {
          goto L40286;}}
      else {
        code_981X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_981X)))))<<2)), code_981X, 20, 4);
        n_982X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_982X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_979X);
        x_983X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_983X);
        arg0K0 = 2;
        goto L23535;}}
      break;
    case 161 : {
      arg2_984X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      list_985X = SvalS;
      arg0K0 = list_985X;
      arg0K1 = list_985X;
      arg2K2 = 1;
      goto L41849;}
      break;
    case 162 : {
      if ((529 == (SvalS))) {
        code_986X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_986X)))))<<2)), code_986X, 0, 4);
        n_987X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_987X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (0);
        arg0K0 = 0;
        goto L23535;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}}
      break;
    case 163 : {
      arg2_988X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_989X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        index_990X = (((SvalS))>>2);
        if ((3 == (3 & arg3_989X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg3_989X))) + -4))))>>2))))) {
            if ((arg2_988X == (*((long *) (((char *) (-3 + arg3_989X))))))) {
              len_991X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_989X))) + -4))))>>8))))>>2);
              if ((index_990X < 0)) {
                goto L30316;}
              else {
                if ((index_990X < len_991X)) {
                  v_992X = *((unsigned char *) ((Scode_pointerS) + 1));
                  if ((0 == v_992X)) {
                    goto L30306;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L30306;}
                    else {
                      merged_arg0K0 = arg3_989X;
                      merged_arg0K1 = (((index_990X)<<2));
                      proposal_d_read_return_tag = 2;
                      goto proposal_d_read;
                     proposal_d_read_return_2:
                      v_993X = proposal_d_read0_return_value;
                      arg0K0 = v_993X;
                      goto L30315;}}}
                else {
                  goto L30316;}}}
            else {
              goto L30336;}}
          else {
            goto L30336;}}
        else {
          goto L30336;}}
      else {
        code_994X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_994X)))))<<2)), code_994X, 20, 4);
        n_995X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_995X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_989X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_988X);
        x_996X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_996X);
        arg0K0 = 3;
        goto L23535;}}
      break;
    case 164 : {
      arg2_997X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_998X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_999X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_997X))) {
        index_1000X = ((arg2_997X)>>2);
        value_1001X = SvalS;
        if ((3 == (3 & arg4_999X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>2))))) {
            if ((arg3_998X == (*((long *) (((char *) (-3 + arg4_999X))))))) {
              if ((3 == (3 & arg4_999X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_999X))) + -4)))))) {
                  len_1002X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>8))))>>2);
                  if ((index_1000X < 0)) {
                    goto L30606;}
                  else {
                    if ((index_1000X < len_1002X)) {
                      v_1003X = *((unsigned char *) ((Scode_pointerS) + 1));
                      if ((0 == v_1003X)) {
                        goto L30596;}
                      else {
                        if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                          goto L30596;}
                        else {
                          merged_arg0K0 = arg4_999X;
                          merged_arg0K1 = (((index_1000X)<<2));
                          merged_arg0K2 = value_1001X;
                          proposal_d_write_return_tag = 2;
                          goto proposal_d_write;
                         proposal_d_write_return_2:
                          goto L30605;}}}
                    else {
                      goto L30606;}}}
                else {
                  goto L30628;}}
              else {
                goto L30628;}}
            else {
              goto L30628;}}
          else {
            goto L30628;}}
        else {
          goto L30628;}}
      else {
        code_1004X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1004X)))))<<2)), code_1004X, 20, 4);
        n_1005X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1005X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_999X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_998X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_997X);
        x_1006X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1006X);
        arg0K0 = 4;
        goto L23535;}}
      break;
    case 165 : {
      v_1007X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1007X)) {
        arg0K0 = (SvalS);
        goto L30917;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 0;
        goto get_current_port;
       get_current_port_return_0:
        v_1008X = get_current_port0_return_value;
        arg0K0 = v_1008X;
        goto L30917;}}
      break;
    case 166 : {
      v_1009X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1009X)) {
        arg0K0 = (SvalS);
        goto L31167;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 1;
        goto get_current_port;
       get_current_port_return_1:
        v_1010X = get_current_port0_return_value;
        arg0K0 = v_1010X;
        goto L31167;}}
      break;
    case 167 : {
      v_1011X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1011X)) {
        v_1012X = SvalS;
        v_1013X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1013X;
        arg0K1 = v_1012X;
        goto L31410;}
      else {
        merged_arg0K0 = 4;
        get_current_port_return_tag = 2;
        goto get_current_port;
       get_current_port_return_2:
        v_1014X = get_current_port0_return_value;
        arg0K0 = (SvalS);
        arg0K1 = v_1014X;
        goto L31410;}}
      break;
    case 168 : {
      x_1015X = SvalS;
      out_1016X = stderr;
      arg0K0 = x_1015X;
      goto L42079;}
      break;
  }}
 L23441: {
  x_1017X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1017X);
  code_1018X = current_code_vector();
  pc_1019X = (Scode_pointerS) - (((char *) (-3 + code_1018X)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (code_1018X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((pc_1019X)<<2)));
  x_1020X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1020X);
  x_1021X = Scurrent_threadS;
  addr_1022X = (((char *) (-3 + x_1021X))) + 12;S48_WRITE_BARRIER(x_1021X, addr_1022X, 1);
  *((long *) addr_1022X) = (long) (1);
  n_1023X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1023X)<<2)));
  code_1024X = Sinterrupt_return_codeS;
  v_1025X = ((((ScontS) - (SstackS)))>>2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((4 + (((v_1025X)<<2))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1024X))) + 11))));
  ScontS = (SstackS);
  goto L23264;}
 L25426: {
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L22770: {
  v_1026X = arg0K0;
  SvalS = v_1026X;
  pop_continuationB_return_tag = 2;
  goto pop_continuationB;
 pop_continuationB_return_2:
  arg0K0 = 1;
  goto L25315;}
 L23916: {
  stack_nargs_1027X = arg0K0;
  list_args_1028X = arg0K1;
  merged_arg0K0 = list_args_1028X;
  merged_arg0K1 = stack_nargs_1027X;
  pop_args_GlistSAgc_return_tag = 2;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_2:
  args_1029X = pop_args_GlistSAgc0_return_value;
  code_1030X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1030X)))))<<2)), code_1030X, 16, 0);
  n_1031X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1031X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (16);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_1029X);
  arg0K0 = 2;
  goto L23535;}
 L25315: {
  bytes_used_1032X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1032X));
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L32485: {
  v_1033X = arg0K0;
  SvalS = v_1033X;
  arg0K0 = 2;
  goto L26474;}
 L26474: {
  protocol_skip_1034X = arg0K0;
  SstackS = (ScontS);
  cont_1035X = ScontS;
  pointer_1036X = (((char *) (*((long *) cont_1035X)))) + -2;
  size_1037X = ((((*((unsigned char *) pointer_1036X)))<<8)) + (*((unsigned char *) (pointer_1036X + 1)));
  if ((65535 == size_1037X)) {
    arg0K0 = ((((*((long *) (cont_1035X + 4))))>>2));
    goto L26485;}
  else {
    arg0K0 = size_1037X;
    goto L26485;}}
 L22716: {
  if ((1 == (stack_nargs_526X + list_arg_count_528X))) {
    if ((1 == stack_nargs_526X)) {
      v_1038X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = v_1038X;
      goto L22794;}
    else {
      arg0K0 = (*((long *) (((char *) (-3 + list_args_527X)))));
      goto L22794;}}
  else {
    arg0K0 = stack_nargs_526X;
    arg0K1 = list_args_527X;
    goto L23916;}}
 L22833: {
  v_1039X = arg0K0;
  ScontS = (cont_535X + (4 + (((v_1039X)<<2))));
  merged_arg0K0 = stack_nargs_526X;
  move_args_above_contB_return_tag = 6;
  goto move_args_above_contB;
 move_args_above_contB_return_6:
  arg0K0 = stack_nargs_526X;
  arg0K1 = list_args_527X;
  arg0K2 = list_arg_count_528X;
  goto L46741;}
 L46741: {
  stack_arg_count_1040X = arg0K0;
  list_args_1041X = arg0K1;
  list_arg_count_1042X = arg0K2;
  if ((0 == list_arg_count_1042X)) {
    obj_1043X = SvalS;
    if ((3 == (3 & obj_1043X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1043X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1040X;
        arg0K1 = 25;
        arg0K2 = 0;
        arg0K3 = -1;
        goto L31977;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1040X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L22943;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1040X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L22943;}}
  else {
    obj_1044X = SvalS;
    if ((3 == (3 & obj_1044X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1044X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1040X;
        arg0K1 = list_args_1041X;
        arg0K2 = list_arg_count_1042X;
        arg0K3 = -1;
        goto L31977;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1040X;
        arg0K2 = list_args_1041X;
        arg0K3 = list_arg_count_1042X;
        goto L22943;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1040X;
      arg0K2 = list_args_1041X;
      arg0K3 = list_arg_count_1042X;
      goto L22943;}}}
 L26349: {
  loc_1045X = arg1K0;
  arg_1046X = arg1K1;
  if ((arg_1046X < arg_top_539X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_526X)<<2))));
    if ((count_538X < stack_nargs_526X)) {
      merged_arg0K0 = list_args_527X;
      merged_arg0K1 = (stack_nargs_526X - count_538X);
      pop_args_GlistSAgc_return_tag = 3;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_3:
      v_1047X = pop_args_GlistSAgc0_return_value;
      arg0K0 = v_1047X;
      goto L26328;}
    else {
      arg0K0 = stack_nargs_526X;
      arg0K1 = list_args_527X;
      goto L26310;}}
  else {
    *((long *) loc_1045X) = (long) ((*((long *) arg_1046X)));
    arg1K0 = (loc_1045X + -4);
    arg1K1 = (arg_1046X + -4);
    goto L26349;}}
 L26215: {
  count_1048X = arg0K0;
  bytes_used_1049X = arg0K1;
  stack_nargs_1050X = arg0K2;
  list_args_1051X = arg0K3;
  list_arg_count_1052X = arg0K4;
  if ((count_1048X == (stack_nargs_1050X + list_arg_count_1052X))) {
    arg_top_1053X = SstackS;
    pop_continuationB_return_tag = 3;
    goto pop_continuationB;
   pop_continuationB_return_3:
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (arg_top_1053X + (-4 + (((stack_nargs_1050X)<<2))));
    goto L26247;}
  else {
    arg0K0 = stack_nargs_1050X;
    arg0K1 = list_args_1051X;
    goto L23916;}}
 L23317: {
  i_1054X = arg0K0;
  m_1055X = arg0K1;
  if ((0 == (n_540X & m_1055X))) {
    arg0K0 = (1 + i_1054X);
    arg0K1 = (((m_1055X)<<1));
    goto L23317;}
  else {
    Spending_interruptsS = ((Spending_interruptsS) & (~ m_1055X));
    if ((i_1054X == 0)) {
      x_1056X = Sinterrupted_templateS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1056X);
      Sinterrupted_templateS = 1;
      n_1057X = Senabled_interruptsS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1057X)<<2)));
      arg0K0 = 2;
      goto L23270;}
    else {
      if ((i_1054X == 2)) {
        x_1058X = Sfinalize_theseS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1058X);
        Sfinalize_theseS = 25;
        n_1059X = Senabled_interruptsS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1059X)<<2)));
        arg0K0 = 2;
        goto L23270;}
      else {
        if ((i_1054X == 3)) {
          channel_1060X = Spending_channels_headS;
          next_1061X = *((long *) ((((char *) (-3 + channel_1060X))) + 16));
          Spending_channels_headS = next_1061X;
          addr_1062X = (((char *) (-3 + channel_1060X))) + 16;S48_WRITE_BARRIER(channel_1060X, addr_1062X, 1);
          *((long *) addr_1062X) = (long) (1);
          if ((1 == next_1061X)) {
            Spending_channels_tailS = 1;
            arg0K0 = channel_1060X;
            goto L11539;}
          else {
            arg0K0 = channel_1060X;
            goto L11539;}}
        else {
          if ((i_1054X == 4)) {
            x_1063X = *((long *) (((char *) (-3 + (Sos_signal_listS)))));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (x_1063X);
            Sos_signal_listS = (*((long *) ((((char *) (-3 + (Sos_signal_listS)))) + 4)));
            x_1064X = Sos_signal_listS;
            if ((25 == x_1064X)) {
              goto L11586;}
            else {
              Spending_interruptsS = (16 | (Spending_interruptsS));
              if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
                s48_Sstack_limitS = (Sreal_stack_limitS);
                if ((s48_Spending_eventsPS)) {
                  s48_Sstack_limitS = (((char *) -1));
                  goto L11586;}
                else {
                  goto L11586;}}
              else {
                s48_Sstack_limitS = (((char *) -1));
                goto L11586;}}}
          else {
            n_1065X = Senabled_interruptsS;
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1065X)<<2)));
            arg0K0 = 1;
            goto L23270;}}}}}}
 L8201: {
  new_env_1066X = arg0K0;
  i_1067X = arg0K1;
  offset_1068X = arg0K2;
  total_count_1069X = arg0K3;
  arg0K0 = (*((unsigned char *) ((Scode_pointerS) + (1 + offset_1068X))));
  arg0K1 = i_1067X;
  arg0K2 = (1 + offset_1068X);
  goto L8207;}
 L18114: {
  count_1070X = arg0K0;
  i_1071X = arg0K1;
  offset_1072X = arg0K2;
  if ((0 == count_1070X)) {
    arg0K0 = new_env_567X;
    arg0K1 = i_1071X;
    arg0K2 = offset_1072X;
    arg0K3 = total_count_563X;
    goto L8201;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_568X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1072X)))))<<2)))));
    merged_arg0K1 = new_env_567X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 0;
    goto make_closure;
   make_closure_return_0:
    value_1073X = make_closure0_return_value;
    addr_1074X = (((char *) (-3 + new_env_567X))) + (((i_1071X)<<2));S48_WRITE_BARRIER(new_env_567X, addr_1074X, value_1073X);
    *((long *) addr_1074X) = (long) (value_1073X);
    arg0K0 = (-1 + count_1070X);
    arg0K1 = (1 + i_1071X);
    arg0K2 = (1 + offset_1072X);
    goto L18114;}}
 L10722: {
  new_env_1075X = arg0K0;
  i_1076X = arg0K1;
  offset_1077X = arg0K2;
  total_count_1078X = arg0K3;
  arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1077X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1077X)))));
  arg0K1 = i_1076X;
  arg0K2 = (2 + offset_1077X);
  goto L10728;}
 L18175: {
  count_1079X = arg0K0;
  i_1080X = arg0K1;
  offset_1081X = arg0K2;
  if ((0 == count_1079X)) {
    arg0K0 = new_env_573X;
    arg0K1 = i_1080X;
    arg0K2 = offset_1081X;
    arg0K3 = total_count_569X;
    goto L10722;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_574X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1081X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1081X))))))<<2)))));
    merged_arg0K1 = new_env_573X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 1;
    goto make_closure;
   make_closure_return_1:
    value_1082X = make_closure0_return_value;
    addr_1083X = (((char *) (-3 + new_env_573X))) + (((i_1080X)<<2));S48_WRITE_BARRIER(new_env_573X, addr_1083X, value_1082X);
    *((long *) addr_1083X) = (long) (value_1082X);
    arg0K0 = (-1 + count_1079X);
    arg0K1 = (1 + i_1080X);
    arg0K2 = (2 + offset_1081X);
    goto L18175;}}
 L50380: {
  value_1084X = arg0K0;
  SvalS = value_1084X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L31897: {
  stack_arg_count_1085X = arg0K0;
  obj_1086X = SvalS;
  if ((3 == (3 & obj_1086X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1086X))) + -4))))>>2))))) {
      template_1087X = *((long *) (((char *) (-3 + (SvalS)))));
      code_1088X = *((long *) (((char *) (-3 + template_1087X))));
      protocol_1089X = *((unsigned char *) ((((char *) (-3 + code_1088X))) + 1));
      if ((protocol_1089X == stack_arg_count_1085X)) {
        arg0K0 = code_1088X;
        arg0K1 = 2;
        arg0K2 = 3;
        arg0K3 = template_1087X;
        goto L22529;}
      else {
        if (((127 & protocol_1089X) == stack_arg_count_1085X)) {
          v_1090X = s48_call_native_procedure((SvalS), 2);
          arg0K0 = v_1090X;
          goto L25322;}
        else {
          arg0K0 = stack_arg_count_1085X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L31977;}}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1085X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L22943;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_1085X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L22943;}}
 L23072: {
  obj_1091X = SvalS;
  if ((3 == (3 & obj_1091X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1091X))) + -4))))>>2))))) {
      arg0K0 = stack_arg_count_584X;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L31977;}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_584X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L22943;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_584X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L22943;}}
 L16428: {
  list_args_1092X = arg0K0;
  stack_nargs_1093X = arg0K1;
  merged_arg0K0 = list_args_1092X;
  okay_argument_list_return_tag = 1;
  goto okay_argument_list;
 okay_argument_list_return_1:
  okayP_1094X = okay_argument_list0_return_value;
  list_arg_count_1095X = okay_argument_list1_return_value;
  if (okayP_1094X) {
    arg0K0 = stack_nargs_1093X;
    arg0K1 = list_args_1092X;
    arg0K2 = list_arg_count_1095X;
    goto L46741;}
  else {
    merged_arg0K0 = list_args_1092X;
    merged_arg0K1 = stack_nargs_1093X;
    pop_args_GlistSAgc_return_tag = 4;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_4:
    args_1096X = pop_args_GlistSAgc0_return_value;
    code_1097X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1097X)))))<<2)), code_1097X, 20, 0);
    n_1098X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1098X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (20);
    x_1099X = SvalS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1099X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1096X);
    arg0K0 = 2;
    goto L23535;}}
 L16473: {
  list_1100X = arg0K0;
  follower_1101X = arg0K1;
  if ((25 == list_1100X)) {
    list_args_1102X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_1101X))) + 4)))))));
    addr_1103X = (((char *) (-3 + follower_1101X))) + 4;S48_WRITE_BARRIER(follower_1101X, addr_1103X, list_args_1102X);
    *((long *) addr_1103X) = (long) (list_args_1102X);
    arg0K0 = rest_list_600X;
    arg0K1 = (-1 + stack_nargs_599X);
    goto L16428;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + list_1100X))) + 4)));
    arg0K1 = (*((long *) ((((char *) (-3 + follower_1101X))) + 4)));
    goto L16473;}}
 L23030: {
  obj_1104X = SvalS;
  if ((3 == (3 & obj_1104X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1104X))) + -4))))>>2))))) {
      arg0K0 = 0;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L31977;}
    else {
      arg0K0 = 3;
      arg0K1 = 0;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L22943;}}
  else {
    arg0K0 = 3;
    arg0K1 = 0;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L22943;}}
 L23039: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = cont_602X;
  ScontS = (Sbottom_of_stackS);
  goto L23030;}
 L49039: {
  code_pointer_1105X = ((char *) (*((long *) (ScontS))));
  protocol_1106X = *((unsigned char *) (code_pointer_1105X + 1));
  if ((1 == protocol_1106X)) {
    goto L49056;}
  else {
    if ((66 == protocol_1106X)) {
      goto L49056;}
    else {
      if ((129 == protocol_1106X)) {
        arg0K0 = 2;
        goto L26474;}
      else {
        if ((194 == protocol_1106X)) {
          arg0K0 = 2;
          goto L26474;}
        else {
          if ((71 == protocol_1106X)) {
            cont_1107X = Sheap_continuationS;
            if ((3 == (3 & cont_1107X))) {
              if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1107X))) + -4))))>>2))))) {
                merged_arg0K0 = cont_1107X;
                merged_arg0K1 = 0;
                copy_continuation_from_heapB_return_tag = 2;
                goto copy_continuation_from_heapB;
               copy_continuation_from_heapB_return_2:
                goto L49039;}
              else {
                arg0K0 = cont_1107X;
                goto L23817;}}
            else {
              arg0K0 = cont_1107X;
              goto L23817;}}
          else {
            if ((70 == protocol_1106X)) {
              offset_1108X = ((((*((unsigned char *) (code_pointer_1105X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1105X + 3)));
              proc_1109X = *((long *) ((ScontS) + 4));
              if ((0 == offset_1108X)) {
                cont_1110X = ScontS;
                pointer_1111X = (((char *) (*((long *) cont_1110X)))) + -2;
                size_1112X = ((((*((unsigned char *) pointer_1111X)))<<8)) + (*((unsigned char *) (pointer_1111X + 1)));
                if ((65535 == size_1112X)) {
                  arg0K0 = ((((*((long *) (cont_1110X + 4))))>>2));
                  goto L49200;}
                else {
                  arg0K0 = size_1112X;
                  goto L49200;}}
              else {
                ScontS = ((ScontS) + 4);
                *((long *) (ScontS)) = (long) ((((long) (code_pointer_1105X + offset_1108X))));
                SstackS = (ScontS);
                goto L49105;}}
            else {
              if ((65 == protocol_1106X)) {
                wants_stack_args_1113X = ((((*((unsigned char *) (code_pointer_1105X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1105X + 3)));
                if ((0 == wants_stack_args_1113X)) {
                  pop_continuationB_return_tag = 4;
                  goto pop_continuationB;
                 pop_continuationB_return_4:s48_make_availableAgc(12);
                  a_1114X = SvalS;
                  addr_1115X = s48_allocate_small(12);
                  *((long *) addr_1115X) = (long) (2050);
                  x_1116X = 3 + (((long) (addr_1115X + 4)));
                  *((long *) (((char *) (-3 + x_1116X)))) = (long) (a_1114X);
                  *((long *) ((((char *) (-3 + x_1116X))) + 4)) = (long) (25);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (x_1116X);
                  Scode_pointerS = ((Scode_pointerS) + 4);
                  arg1K0 = (Scode_pointerS);
                  goto L24827;}
                else {
                  if ((1 == wants_stack_args_1113X)) {
                    pop_continuationB_return_tag = 5;
                    goto pop_continuationB;
                   pop_continuationB_return_5:
                    x_1117X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1117X);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (25);
                    Scode_pointerS = ((Scode_pointerS) + 4);
                    arg1K0 = (Scode_pointerS);
                    goto L24827;}
                  else {
                    x_1118X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1118X);
                    arg0K0 = 1;
                    arg0K1 = 25;
                    goto L23916;}}}
              else {
                x_1119X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1119X);
                arg0K0 = 1;
                arg0K1 = 25;
                goto L23916;}}}}}}}}
 L26514: {
  if ((nargs_609X == (*((unsigned char *) ((((char *) (-3 + code_608X))) + 1))))) {
    arg0K0 = code_608X;
    arg0K1 = 2;
    arg0K2 = 3;
    arg0K3 = template_607X;
    goto L22529;}
  else {
    v_1120X = *((unsigned char *) ((((char *) (-3 + code_608X))) + 1));
    if ((67 == v_1120X)) {
      if ((nargs_609X == (*((unsigned char *) ((((char *) (-3 + code_608X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_608X))) + -4))))>>8)))))))) {
        index_1121X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_608X))) + -4))))>>8));
        arg0K0 = code_608X;
        arg0K1 = 2;
        arg0K2 = template_607X;
        arg0K3 = (((((*((unsigned char *) ((((char *) (-3 + code_608X))) + index_1121X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_608X))) + (1 + index_1121X)))));
        goto L25408;}
      else {
        goto L26536;}}
    else {
      goto L26536;}}}
 L25184: {
  arg0K0 = (2 + (((max_613X)<<1)));
  goto L25186;}
 L25186: {
  offset_1122X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + offset_1122X);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L25852: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L25082: {
  delta_1123X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1123X);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L25743: {
  delta_1124X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1124X);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L50437: {
  val_1125X = arg0K0;
  SvalS = val_1125X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L50449: {
  val_1126X = arg0K0;
  SvalS = val_1126X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L14205: {
  if ((3 == (3 & x_630X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + x_630X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50449;}
    else {
      goto L14211;}}
  else {
    goto L14211;}}
 L41302: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L41303: {
  if ((3 == (3 & n_631X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_631X))) + -4))))>>2))))) {
      arg0K0 = n_631X;
      goto L24141;}
    else {
      goto L41311;}}
  else {
    goto L41311;}}
 L41429: {
  n_1127X = arg0K0;
  if ((0 == (3 & n_1127X))) {
    goto L41462;}
  else {
    if ((3 == (3 & n_1127X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_1127X))) + -4))))>>2))))) {
        goto L41462;}
      else {
        goto L41445;}}
    else {
      goto L41445;}}}
 L34015: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34016: {
  code_1128X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1128X)))))<<2)), code_1128X, 20, 4);
  n_1129X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1129X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_632X);
  arg0K0 = 1;
  goto L23535;}
 L24141: {
  x_1130X = arg0K0;
  code_1131X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1131X)))))<<2)), code_1131X, 20, 4);
  n_1132X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1132X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1130X);
  arg0K0 = 1;
  goto L23535;}
 L34157: {
  v_1133X = (char *) s48_long_to_bignum(x_635X);
  v_1134X = enter_bignum(v_1133X);
  arg0K0 = v_1134X;
  goto L34103;}
 L34103: {
  val_1135X = arg0K0;
  SvalS = val_1135X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34109: {
  if ((0 == (3 & y_634X))) {
    goto L34115;}
  else {
    if ((3 == (3 & y_634X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_634X))) + -4))))>>2))))) {
        goto L34115;}
      else {
        goto L34118;}}
    else {
      goto L34118;}}}
 L34118: {
  if ((3 == (3 & arg2_633X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_633X))) + -4))))>>2))))) {
      if ((3 == (3 & y_634X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_634X))) + -4))))>>2))))) {
          Stemp0S = arg2_633X;
          Stemp1S = y_634X;s48_make_availableAgc(12);
          value_1136X = Stemp1S;
          Stemp1S = 1;
          y_1137X = *((double *) (((char *) (-3 + value_1136X))));
          value_1138X = Stemp0S;
          Stemp0S = 1;
          x_1139X = *((double *) (((char *) (-3 + value_1138X))));
          addr_1140X = s48_allocate_small(12);
          *((long *) addr_1140X) = (long) (2126);
          Kdouble_1141X = 3 + (((long) (addr_1140X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1141X)))) = (double) ((x_1139X + y_1137X));
          SvalS = Kdouble_1141X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L34132;}}
      else {
        goto L34132;}}
    else {
      goto L34132;}}
  else {
    goto L34132;}}
 L8367: {
  a_1142X = arg0K0;
  if ((b_639X < 0)) {
    arg0K0 = (0 - b_639X);
    goto L8371;}
  else {
    arg0K0 = b_639X;
    goto L8371;}}
 L43333: {
  if ((0 == (3 & y_637X))) {
    goto L43339;}
  else {
    if ((3 == (3 & y_637X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_637X))) + -4))))>>2))))) {
        goto L43339;}
      else {
        goto L43342;}}
    else {
      goto L43342;}}}
 L43342: {
  if ((3 == (3 & arg2_636X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_636X))) + -4))))>>2))))) {
      if ((3 == (3 & y_637X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_637X))) + -4))))>>2))))) {
          Stemp0S = arg2_636X;
          Stemp1S = y_637X;s48_make_availableAgc(12);
          value_1143X = Stemp1S;
          Stemp1S = 1;
          y_1144X = *((double *) (((char *) (-3 + value_1143X))));
          value_1145X = Stemp0S;
          Stemp0S = 1;
          x_1146X = *((double *) (((char *) (-3 + value_1145X))));
          addr_1147X = s48_allocate_small(12);
          *((long *) addr_1147X) = (long) (2126);
          Kdouble_1148X = 3 + (((long) (addr_1147X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1148X)))) = (double) ((x_1146X * y_1144X));
          SvalS = Kdouble_1148X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          arg0K0 = arg2_636X;
          arg0K1 = y_637X;
          goto L24172;}}
      else {
        arg0K0 = arg2_636X;
        arg0K1 = y_637X;
        goto L24172;}}
    else {
      arg0K0 = arg2_636X;
      arg0K1 = y_637X;
      goto L24172;}}
  else {
    arg0K0 = arg2_636X;
    arg0K1 = y_637X;
    goto L24172;}}
 L34462: {
  v_1149X = (char *) s48_long_to_bignum(x_642X);
  v_1150X = enter_bignum(v_1149X);
  arg0K0 = v_1150X;
  goto L34408;}
 L34408: {
  val_1151X = arg0K0;
  SvalS = val_1151X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34414: {
  if ((0 == (3 & y_641X))) {
    goto L34420;}
  else {
    if ((3 == (3 & y_641X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_641X))) + -4))))>>2))))) {
        goto L34420;}
      else {
        goto L34423;}}
    else {
      goto L34423;}}}
 L34423: {
  if ((3 == (3 & arg2_640X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_640X))) + -4))))>>2))))) {
      if ((3 == (3 & y_641X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_641X))) + -4))))>>2))))) {
          Stemp0S = arg2_640X;
          Stemp1S = y_641X;s48_make_availableAgc(12);
          value_1152X = Stemp1S;
          Stemp1S = 1;
          y_1153X = *((double *) (((char *) (-3 + value_1152X))));
          value_1154X = Stemp0S;
          Stemp0S = 1;
          x_1155X = *((double *) (((char *) (-3 + value_1154X))));
          addr_1156X = s48_allocate_small(12);
          *((long *) addr_1156X) = (long) (2126);
          Kdouble_1157X = 3 + (((long) (addr_1156X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1157X)))) = (double) ((x_1155X - y_1153X));
          SvalS = Kdouble_1157X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L24827;}
        else {
          goto L34437;}}
      else {
        goto L34437;}}
    else {
      goto L34437;}}
  else {
    goto L34437;}}
 L24172: {
  x_1158X = arg0K0;
  y_1159X = arg0K1;
  code_1160X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1160X)))))<<2)), code_1160X, 20, 4);
  n_1161X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1161X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1158X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1159X);
  arg0K0 = 2;
  goto L23535;}
 L8625: {
  a_1162X = arg0K0;
  if ((b_646X < 0)) {
    arg0K0 = (0 - b_646X);
    goto L8629;}
  else {
    arg0K0 = b_646X;
    goto L8629;}}
 L43576: {
  if ((0 == (3 & y_644X))) {
    goto L43582;}
  else {
    if ((3 == (3 & y_644X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_644X))) + -4))))>>2))))) {
        goto L43582;}
      else {
        goto L43609;}}
    else {
      goto L43609;}}}
 L43609: {
  if ((3 == (3 & arg2_643X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_643X))) + -4))))>>2))))) {
      if ((3 == (3 & y_644X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_644X))) + -4))))>>2))))) {
          if ((0. == (*((double *) (((char *) (-3 + y_644X))))))) {
            arg0K0 = 1;
            goto L43622;}
          else {
            Stemp0S = arg2_643X;
            Stemp1S = y_644X;s48_make_availableAgc(12);
            value_1163X = Stemp1S;
            Stemp1S = 1;
            y_1164X = *((double *) (((char *) (-3 + value_1163X))));
            value_1165X = Stemp0S;
            Stemp0S = 1;
            value_1166X = (*((double *) (((char *) (-3 + value_1165X))))) / y_1164X;
            addr_1167X = s48_allocate_small(12);
            *((long *) addr_1167X) = (long) (2126);
            Kdouble_1168X = 3 + (((long) (addr_1167X + 4)));
            *((double *) (((char *) (-3 + Kdouble_1168X)))) = (double) (value_1166X);
            arg0K0 = Kdouble_1168X;
            goto L43622;}}
        else {
          arg0K0 = arg2_643X;
          arg0K1 = y_644X;
          goto L24172;}}
      else {
        arg0K0 = arg2_643X;
        arg0K1 = y_644X;
        goto L24172;}}
    else {
      arg0K0 = arg2_643X;
      arg0K1 = y_644X;
      goto L24172;}}
  else {
    arg0K0 = arg2_643X;
    arg0K1 = y_644X;
    goto L24172;}}
 L34709: {
  val_1169X = arg0K0;
  SvalS = val_1169X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34715: {
  if ((0 == (3 & y_648X))) {
    goto L34721;}
  else {
    if ((3 == (3 & y_648X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_648X))) + -4))))>>2))))) {
        goto L34721;}
      else {
        goto L34726;}}
    else {
      goto L34726;}}}
 L34726: {
  if ((3 == (3 & arg2_647X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_647X))) + -4))))>>2))))) {
      if ((3 == (3 & y_648X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_648X))) + -4))))>>2))))) {
          b_1170X = (*((double *) (((char *) (-3 + arg2_647X))))) == (*((double *) (((char *) (-3 + y_648X)))));
          if (b_1170X) {
            arg0K0 = 5;
            goto L34741;}
          else {
            arg0K0 = 1;
            goto L34741;}}
        else {
          goto L34742;}}
      else {
        goto L34742;}}
    else {
      goto L34742;}}
  else {
    goto L34742;}}
 L34985: {
  val_1171X = arg0K0;
  SvalS = val_1171X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34991: {
  if ((0 == (3 & y_650X))) {
    goto L34997;}
  else {
    if ((3 == (3 & y_650X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_650X))) + -4))))>>2))))) {
        goto L34997;}
      else {
        goto L35002;}}
    else {
      goto L35002;}}}
 L35002: {
  if ((3 == (3 & arg2_649X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_649X))) + -4))))>>2))))) {
      if ((3 == (3 & y_650X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_650X))) + -4))))>>2))))) {
          b_1172X = (*((double *) (((char *) (-3 + arg2_649X))))) < (*((double *) (((char *) (-3 + y_650X)))));
          if (b_1172X) {
            arg0K0 = 5;
            goto L35017;}
          else {
            arg0K0 = 1;
            goto L35017;}}
        else {
          goto L35018;}}
      else {
        goto L35018;}}
    else {
      goto L35018;}}
  else {
    goto L35018;}}
 L35324: {
  val_1173X = arg0K0;
  SvalS = val_1173X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35330: {
  if ((0 == (3 & y_652X))) {
    goto L35336;}
  else {
    if ((3 == (3 & y_652X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_652X))) + -4))))>>2))))) {
        goto L35336;}
      else {
        goto L35341;}}
    else {
      goto L35341;}}}
 L35341: {
  if ((3 == (3 & arg2_651X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_651X))) + -4))))>>2))))) {
      if ((3 == (3 & y_652X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_652X))) + -4))))>>2))))) {
          b_1174X = (*((double *) (((char *) (-3 + y_652X))))) < (*((double *) (((char *) (-3 + arg2_651X)))));
          if (b_1174X) {
            arg0K0 = 5;
            goto L35356;}
          else {
            arg0K0 = 1;
            goto L35356;}}
        else {
          goto L35357;}}
      else {
        goto L35357;}}
    else {
      goto L35357;}}
  else {
    goto L35357;}}
 L35663: {
  val_1175X = arg0K0;
  SvalS = val_1175X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35669: {
  if ((0 == (3 & y_654X))) {
    goto L35675;}
  else {
    if ((3 == (3 & y_654X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_654X))) + -4))))>>2))))) {
        goto L35675;}
      else {
        goto L35680;}}
    else {
      goto L35680;}}}
 L35680: {
  if ((3 == (3 & arg2_653X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_653X))) + -4))))>>2))))) {
      if ((3 == (3 & y_654X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_654X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + y_654X))))) < (*((double *) (((char *) (-3 + arg2_653X))))))) {
            arg0K0 = 1;
            goto L35695;}
          else {
            arg0K0 = 5;
            goto L35695;}}
        else {
          goto L35696;}}
      else {
        goto L35696;}}
    else {
      goto L35696;}}
  else {
    goto L35696;}}
 L35973: {
  val_1176X = arg0K0;
  SvalS = val_1176X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35979: {
  if ((0 == (3 & y_656X))) {
    goto L35985;}
  else {
    if ((3 == (3 & y_656X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_656X))) + -4))))>>2))))) {
        goto L35985;}
      else {
        goto L35990;}}
    else {
      goto L35990;}}}
 L35990: {
  if ((3 == (3 & arg2_655X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_655X))) + -4))))>>2))))) {
      if ((3 == (3 & y_656X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_656X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + arg2_655X))))) < (*((double *) (((char *) (-3 + y_656X))))))) {
            arg0K0 = 1;
            goto L36005;}
          else {
            arg0K0 = 5;
            goto L36005;}}
        else {
          goto L36006;}}
      else {
        goto L36006;}}
    else {
      goto L36006;}}
  else {
    goto L36006;}}
 L19462: {
  x_1177X = arg0K0;
  y_1178X = arg0K1;
  if ((0 == (3 & x_1177X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19492;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1177X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19492;}}
 L9314: {
  a_1179X = arg0K0;
  if ((b_660X < 0)) {
    arg0K0 = (0 - b_660X);
    goto L9318;}
  else {
    arg0K0 = b_660X;
    goto L9318;}}
 L36295: {
  if ((0 == (3 & y_658X))) {
    goto L36301;}
  else {
    if ((3 == (3 & y_658X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_658X))) + -4))))>>2))))) {
        goto L36301;}
      else {
        arg0K0 = arg2_657X;
        arg0K1 = y_658X;
        goto L24172;}}
    else {
      arg0K0 = arg2_657X;
      arg0K1 = y_658X;
      goto L24172;}}}
 L19553: {
  x_1180X = arg0K0;
  y_1181X = arg0K1;
  if ((0 == (3 & x_1180X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19583;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1180X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19583;}}
 L36475: {
  a_1182X = arg0K0;
  n_1183X = ((y_662X)>>2);
  if ((n_1183X < 0)) {
    arg0K0 = (0 - n_1183X);
    goto L36477;}
  else {
    arg0K0 = n_1183X;
    goto L36477;}}
 L36449: {
  if ((0 == (3 & y_662X))) {
    goto L36455;}
  else {
    if ((3 == (3 & y_662X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_662X))) + -4))))>>2))))) {
        goto L36455;}
      else {
        arg0K0 = arg2_661X;
        arg0K1 = y_662X;
        goto L24172;}}
    else {
      arg0K0 = arg2_661X;
      arg0K1 = y_662X;
      goto L24172;}}}
 L36614: {
  SvalS = n_664X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36615: {
  code_1184X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1184X)))))<<2)), code_1184X, 20, 4);
  n_1185X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1185X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_664X);
  arg0K0 = 1;
  goto L23535;}
 L36685: {
  SvalS = n_665X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36686: {
  code_1186X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1186X)))))<<2)), code_1186X, 20, 4);
  n_1187X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1187X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_665X);
  arg0K0 = 1;
  goto L23535;}
 L36756: {
  SvalS = 4;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36759: {
  code_1188X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1188X)))))<<2)), code_1188X, 20, 4);
  n_1189X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1189X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_666X);
  arg0K0 = 1;
  goto L23535;}
 L36832: {
  SvalS = n_667X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36833: {
  code_1190X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1190X)))))<<2)), code_1190X, 20, 4);
  n_1191X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1191X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_667X);
  arg0K0 = 1;
  goto L23535;}
 L36903: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36906: {
  code_1192X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1192X)))))<<2)), code_1192X, 20, 4);
  n_1193X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1193X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_668X);
  arg0K0 = 1;
  goto L23535;}
 L50555: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L24051: {
  x_1194X = SvalS;
  if ((0 == (3 & x_1194X))) {s48_make_availableAgc(16);
    if ((x_1194X < 0)) {
      arg0K0 = (0 - x_1194X);
      goto L24079;}
    else {
      arg0K0 = x_1194X;
      goto L24079;}}
  else {
    if ((0 == (3 & x_1194X))) {
      arg0K0 = 1;
      arg0K1 = 3;
      goto L19070;}
    else {
      arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1194X))) + -4))))>>8))))>>2)));
      arg0K1 = 0;
      goto L19070;}}}
 L24054: {
  code_1195X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1195X)))))<<2)), code_1195X, 20, 4);
  n_1196X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1196X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1197X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1197X);
  arg0K0 = 1;
  goto L23535;}
 L37066: {
  if ((0 == (3 & x_675X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19195;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_675X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19195;}}
 L37069: {
  code_1198X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1198X)))))<<2)), code_1198X, 20, 4);
  n_1199X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1199X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_675X);
  arg0K0 = 1;
  goto L23535;}
 L37173: {
  x_1200X = arg0K0;
  arg0K0 = x_1200X;
  arg0K1 = 0;
  goto L37179;}
 L37156: {
  if ((0 == (3 & x_676X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L18611;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_676X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L18611;}}
 L37159: {
  code_1201X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1201X)))))<<2)), code_1201X, 20, 4);
  n_1202X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1202X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_676X);
  arg0K0 = 1;
  goto L23535;}
 L37274: {
  if ((0 == (3 & y_679X))) {
    goto L37280;}
  else {
    if ((3 == (3 & y_679X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_679X))) + -4))))>>2))))) {
        goto L37280;}
      else {
        goto L37283;}}
    else {
      goto L37283;}}}
 L37283: {
  code_1203X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1203X)))))<<2)), code_1203X, 20, 4);
  n_1204X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1204X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_678X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_679X);
  arg0K0 = 2;
  goto L23535;}
 L37453: {
  if ((0 == (3 & y_681X))) {
    goto L37459;}
  else {
    if ((3 == (3 & y_681X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_681X))) + -4))))>>2))))) {
        goto L37459;}
      else {
        goto L37462;}}
    else {
      goto L37462;}}}
 L37462: {
  code_1205X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1205X)))))<<2)), code_1205X, 20, 4);
  n_1206X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1206X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_680X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_681X);
  arg0K0 = 2;
  goto L23535;}
 L37632: {
  if ((0 == (3 & y_683X))) {
    goto L37638;}
  else {
    if ((3 == (3 & y_683X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_683X))) + -4))))>>2))))) {
        goto L37638;}
      else {
        goto L37641;}}
    else {
      goto L37641;}}}
 L37641: {
  code_1207X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1207X)))))<<2)), code_1207X, 20, 4);
  n_1208X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1208X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_682X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_683X);
  arg0K0 = 2;
  goto L23535;}
 L33747: {
  val_1209X = arg0K0;
  SvalS = val_1209X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L33763: {
  val_1210X = arg0K0;
  SvalS = val_1210X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L33764: {
  code_1211X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1211X)))))<<2)), code_1211X, 24, 4);
  n_1212X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1212X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (24);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_684X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_685X);
  arg0K0 = 2;
  goto L23535;}
 L43858: {
  if ((0 == (3 & y_685X))) {
    if ((0 == (3 & arg2_684X))) {
      value_1213X = ((arg2_684X)>>2);
      count_1214X = ((y_685X)>>2);
      if ((count_1214X < 0)) {
        PS_SHIFT_RIGHT(value_1213X, (0 - count_1214X), x_1215X)
        x_1216X = x_1215X;s48_make_availableAgc(16);
        if ((536870911 < x_1216X)) {
          goto L43966;}
        else {
          if ((x_1216X < -536870912)) {
            goto L43966;}
          else {
            arg0K0 = (((x_1216X)<<2));
            goto L43961;}}}
      else {
        PS_SHIFT_LEFT(value_1213X, count_1214X, x_1217X)
        result_1218X = x_1217X;
        PS_SHIFT_RIGHT(result_1218X, count_1214X, x_1219X)
        if ((value_1213X == x_1219X)) {
          if ((value_1213X < 0)) {
            if ((result_1218X < 0)) {s48_make_availableAgc(16);
              if ((536870911 < result_1218X)) {
                goto L43988;}
              else {
                if ((result_1218X < -536870912)) {
                  goto L43988;}
                else {
                  arg0K0 = (((result_1218X)<<2));
                  goto L43983;}}}
            else {
              arg0K0 = arg2_684X;
              arg0K1 = y_685X;
              goto L43871;}}
          else {
            if ((result_1218X < 0)) {
              arg0K0 = arg2_684X;
              arg0K1 = y_685X;
              goto L43871;}
            else {s48_make_availableAgc(16);
              if ((536870911 < result_1218X)) {
                goto L44010;}
              else {
                if ((result_1218X < -536870912)) {
                  goto L44010;}
                else {
                  arg0K0 = (((result_1218X)<<2));
                  goto L44005;}}}}}
        else {
          arg0K0 = arg2_684X;
          arg0K1 = y_685X;
          goto L43871;}}}
    else {
      if ((3 == (3 & arg2_684X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_684X))) + -4))))>>2))))) {
          y_1220X = ((y_685X)>>2);
          merged_arg0K0 = arg2_684X;
          merged_arg0K1 = y_1220X;
          shift_space_return_tag = 0;
          goto shift_space;
         shift_space_return_0:
          needed_1221X = shift_space0_return_value;
          Stemp0S = arg2_684X;s48_make_availableAgc((((needed_1221X)<<2)));
          value_1222X = Stemp0S;
          Stemp0S = 1;
          if ((0 == (3 & value_1222X))) {
            v_1223X = (char *) s48_long_to_bignum((((value_1222X)>>2)));
            arg1K0 = v_1223X;
            goto L44041;}
          else {
            arg1K0 = (((char *) (-3 + value_1222X)));
            goto L44041;}}
        else {
          arg0K0 = arg2_684X;
          arg0K1 = y_685X;
          goto L24172;}}
      else {
        arg0K0 = arg2_684X;
        arg0K1 = y_685X;
        goto L24172;}}}
  else {
    arg0K0 = arg2_684X;
    arg0K1 = y_685X;
    goto L24172;}}
 L50616: {
  val_1224X = arg0K0;
  SvalS = val_1224X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L41071: {
  val_1225X = arg0K0;
  SvalS = val_1225X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L41042: {
  code_1226X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1226X)))))<<2)), code_1226X, 20, 4);
  n_1227X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1227X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_691X);
  x_1228X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1228X);
  arg0K0 = 2;
  goto L23535;}
 L40963: {
  val_1229X = arg0K0;
  SvalS = val_1229X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L40934: {
  code_1230X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1230X)))))<<2)), code_1230X, 20, 4);
  n_1231X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1231X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_693X);
  x_1232X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1232X);
  arg0K0 = 2;
  goto L23535;}
 L37802: {
  code_1233X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1233X)))))<<2)), code_1233X, 20, 4);
  n_1234X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1234X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((x_698X)<<2)));
  arg0K0 = 1;
  goto L23535;}
 L50636: {
  val_1235X = arg0K0;
  SvalS = val_1235X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L50650: {
  value_1236X = arg0K0;
  SvalS = value_1236X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L27316: {
  code_1237X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1237X)))))<<2)), code_1237X, 20, 8);
  n_1238X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1238X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_705X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_706X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L27437: {
  SvalS = new_711X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L27421: {
  i_1239X = arg0K0;
  if ((i_1239X < 0)) {
    goto L27437;}
  else {
    value_1240X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_711X))) + (((i_1239X)<<2)))) = (long) (value_1240X);
    arg0K0 = (-1 + i_1239X);
    goto L27421;}}
 L27555: {
  i_1241X = arg0K0;
  if ((i_1241X < 0)) {
    arg0K0 = stack_nargs_719X;
    arg0K1 = rest_list_720X;
    goto L27697;}
  else {
    value_1242X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_717X))) + (((i_1241X)<<2)))) = (long) (value_1242X);
    arg0K0 = (-1 + i_1241X);
    goto L27555;}}
 L27723: {
  code_1243X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1243X)))))<<2)), code_1243X, 20, 12);
  n_1244X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1244X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_721X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_723X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_722X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L27856: {
  addr_1245X = (((char *) (-3 + arg2_724X))) + (((offset_726X)<<2));S48_WRITE_BARRIER(arg2_724X, addr_1245X, value_725X);
  *((long *) addr_1245X) = (long) (value_725X);
  goto L27865;}
 L27865: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L27866: {
  code_1246X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1246X)))))<<2)), code_1246X, 20, 16);
  n_1247X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1247X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_724X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_727X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_726X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_725X);
  arg0K0 = 4;
  goto L23535;}
 L28099: {
  code_1248X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1248X)))))<<2)), code_1248X, 20, 8);
  n_1249X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1249X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_731X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_732X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (init_730X);
  arg0K0 = 3;
  goto L23535;}
 L28116: {
  x_1250X = arg0K0;
  value_1251X = Stemp0S;
  Stemp0S = 1;
  if ((1 == x_1250X)) {
    code_1252X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1252X)))))<<2)), code_1252X, 32, 8);
    n_1253X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1253X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((type_731X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_732X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (value_1251X);
    arg0K0 = 3;
    goto L23535;}
  else {
    arg0K0 = (-1 + len_732X);
    goto L28142;}}
 L28437: {
  code_1254X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1254X)))))<<2)), code_1254X, 28, 12);
  n_1255X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1255X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_737X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_739X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_738X);
  arg0K0 = 3;
  goto L23535;}
 L28427: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg2_737X))) + (-4 & index_738X))));
  goto L28436;}
 L28436: {
  value_1256X = arg0K0;
  SvalS = value_1256X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L28392: {
  code_1257X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1257X)))))<<2)), code_1257X, 20, 12);
  n_1258X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1258X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_737X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_739X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_738X);
  arg0K0 = 3;
  goto L23535;}
 L28756: {
  code_1259X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1259X)))))<<2)), code_1259X, 28, 12);
  n_1260X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1260X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_745X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_747X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_744X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_746X);
  arg0K0 = 4;
  goto L23535;}
 L28746: {
  addr_1261X = (((char *) (-3 + arg3_745X))) + (-4 & arg2_744X);S48_WRITE_BARRIER(arg3_745X, addr_1261X, value_746X);
  *((long *) addr_1261X) = (long) (value_746X);
  goto L28755;}
 L28755: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L28709: {
  code_1262X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1262X)))))<<2)), code_1262X, 20, 12);
  n_1263X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1263X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_745X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_747X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_744X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_746X);
  arg0K0 = 4;
  goto L23535;}
 L37885: {
  code_1264X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1264X)))))<<2)), code_1264X, 20, 4);
  n_1265X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1265X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_752X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((init_753X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L37898: {
  vector_1266X = arg0K0;
  if ((1 == vector_1266X)) {
    code_1267X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1267X)))))<<2)), code_1267X, 32, 4);
    n_1268X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1268X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_752X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((init_753X)<<2)));
    arg0K0 = 2;
    goto L23535;}
  else {
    arg0K0 = (-1 + len_752X);
    goto L37920;}}
 L49709: {
  code_1269X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1269X)))))<<2)), code_1269X, 20, 4);
  n_1270X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1270X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1271X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1271X);
  arg0K0 = 1;
  goto L23535;}
 L45357: {
  code_1272X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1272X)))))<<2)), code_1272X, 28, 4);
  n_1273X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1273X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_759X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_760X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L48766: {
  code_1274X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1274X)))))<<2)), code_1274X, 20, 4);
  n_1275X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1275X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_759X);
  x_1276X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1276X);
  arg0K0 = 2;
  goto L23535;}
 L42427: {
  code_1277X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1277X)))))<<2)), code_1277X, 28, 4);
  n_1278X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1278X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_763X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_764X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_765X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L42406: {
  code_1279X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1279X)))))<<2)), code_1279X, 20, 4);
  n_1280X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1280X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_763X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_764X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_765X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L47314: {
  code_1281X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1281X)))))<<2)), code_1281X, 20, 4);
  n_1282X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1282X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_763X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_762X);
  x_1283X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1283X);
  arg0K0 = 3;
  goto L23535;}
 L38097: {
  code_1284X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1284X)))))<<2)), code_1284X, 20, 4);
  n_1285X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1285X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_768X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_769X)))<<8))));
  arg0K0 = 2;
  goto L23535;}
 L38110: {
  vector_1286X = arg0K0;
  if ((1 == vector_1286X)) {
    code_1287X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1287X)))))<<2)), code_1287X, 32, 4);
    n_1288X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1288X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_768X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_769X)))<<8))));
    arg0K0 = 2;
    goto L23535;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1286X))) + len_768X)) = (unsigned char) (0);
    arg0K0 = (-1 + len_768X);
    goto L38132;}}
 L45454: {
  code_1289X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1289X)))))<<2)), code_1289X, 20, 4);
  n_1290X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1290X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_767X);
  x_1291X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1291X);
  arg0K0 = 2;
  goto L23535;}
 L49775: {
  code_1292X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1292X)))))<<2)), code_1292X, 20, 4);
  n_1293X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1293X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1294X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1294X);
  arg0K0 = 1;
  goto L23535;}
 L45535: {
  code_1295X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1295X)))))<<2)), code_1295X, 28, 4);
  n_1296X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1296X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_773X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_774X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L48880: {
  code_1297X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1297X)))))<<2)), code_1297X, 20, 4);
  n_1298X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1298X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_773X);
  x_1299X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1299X);
  arg0K0 = 2;
  goto L23535;}
 L42614: {
  code_1300X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1300X)))))<<2)), code_1300X, 28, 4);
  n_1301X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1301X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_777X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_778X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_779X)))<<8))));
  arg0K0 = 3;
  goto L23535;}
 L42593: {
  code_1302X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1302X)))))<<2)), code_1302X, 20, 4);
  n_1303X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1303X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_777X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_778X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_779X)))<<8))));
  arg0K0 = 3;
  goto L23535;}
 L47460: {
  code_1304X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1304X)))))<<2)), code_1304X, 20, 4);
  n_1305X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1305X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_777X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_776X);
  x_1306X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1306X);
  arg0K0 = 3;
  goto L23535;}
 L21406: {
  i_1307X = arg0K0;
  h_1308X = arg0K1;
  if ((i_1307X < n_784X)) {
    arg0K0 = (1 + i_1307X);
    arg0K1 = (h_1308X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_783X))) + i_1307X))))))));
    goto L21406;}
  else {
    index_1309X = 1023 & h_1308X;
    link_1310X = *((long *) ((((char *) (-3 + table_782X))) + (((index_1309X)<<2))));
    if ((0 == (3 & link_1310X))) {
      arg0K0 = (3 + (-4 & link_1310X));
      goto L21362;}
    else {
      arg0K0 = link_1310X;
      goto L21362;}}}
 L33941: {
  code_1311X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1311X)))))<<2)), code_1311X, 20, 4);
  n_1312X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1312X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1313X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1313X);
  arg0K0 = 1;
  goto L23535;}
 L46944: {
  val_1314X = arg0K0;
  SvalS = val_1314X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L46925: {
  code_1315X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1315X)))))<<2)), code_1315X, 20, 4);
  n_1316X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1316X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1317X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1317X);
  arg0K0 = 1;
  goto L23535;}
 L42172: {
  if ((1 == (SvalS))) {
    addr_1318X = (((char *) (-3 + arg2_788X))) + 4;S48_WRITE_BARRIER(arg2_788X, addr_1318X, 273);
    *((long *) addr_1318X) = (long) (273);
    goto L42178;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_788X))) + 4)))))) {
      addr_1319X = (((char *) (-3 + arg2_788X))) + 4;S48_WRITE_BARRIER(arg2_788X, addr_1319X, 529);
      *((long *) addr_1319X) = (long) (529);
      goto L42178;}
    else {
      goto L42178;}}}
 L42179: {
  code_1320X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1320X)))))<<2)), code_1320X, 20, 4);
  n_1321X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1321X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_788X);
  x_1322X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1322X);
  arg0K0 = 2;
  goto L23535;}
 L50717: {
  val_1323X = arg0K0;
  SvalS = val_1323X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L45633: {
  SvalS = x_791X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L38553: {
  if ((0 == (3 & arg3_793X))) {
    if (((((arg3_793X)>>2)) < 0)) {
      arg0K0 = 5;
      goto L38327;}
    else {
      arg0K0 = (((arg3_793X)>>2));
      goto L38357;}}
  else {
    if ((3 == (3 & arg3_793X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_793X))) + -4))))>>2))))) {
        if ((1 == mode_794X)) {
          goto L38415;}
        else {
          if ((3 == mode_794X)) {
            goto L38415;}
          else {
            v_1324X = ps_open_fd((((char *)(((char *) (-3 + arg3_793X))))), 0, &v_1325X);
            arg0K0 = v_1324X;
            arg0K1 = v_1325X;
            goto L38428;}}}
      else {
        arg0K0 = 5;
        goto L38327;}}
    else {
      arg0K0 = 5;
      goto L38327;}}}
 L38327: {
  reason_1326X = arg0K0;
  code_1327X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1327X)))))<<2)), code_1327X, (((reason_1326X)<<2)), 4);
  n_1328X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1328X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((reason_1326X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_793X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((mode_794X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L47588: {
  code_1329X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1329X)))))<<2)), code_1329X, 20, 4);
  n_1330X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1330X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1331X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1331X);
  arg0K0 = 1;
  goto L23535;}
 L45820: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L45830;}
  else {
    arg2K0 = 1;
    goto L45830;}}
 L45831: {
  code_1332X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1332X)))))<<2)), code_1332X, 20, 4);
  n_1333X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1333X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_810X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_809X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_808X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_807X);
  x_1334X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1334X);
  arg0K0 = 5;
  goto L23535;}
 L39152: {
  if ((3 == (3 & arg3_813X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_813X))) + -4))))>>2))))) {
      arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_813X))) + -4))))>>8)));
      goto L39154;}
    else {
      goto L39373;}}
  else {
    goto L39373;}}
 L39359: {
  if ((3 == (3 & arg3_813X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_813X))) + -4))))>>2))))) {
      goto L39152;}
    else {
      goto L39206;}}
  else {
    goto L39206;}}
 L39206: {
  code_1335X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1335X)))))<<2)), code_1335X, 20, 4);
  n_1336X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1336X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_814X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_813X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_815X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_816X)<<2)));
  arg0K0 = 4;
  goto L23535;}
 L46050: {
  code_1337X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1337X)))))<<2)), code_1337X, 20, 4);
  n_1338X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1338X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_814X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_813X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_812X);
  x_1339X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1339X);
  arg0K0 = 4;
  goto L23535;}
 L41770: {
  val_1340X = arg0K0;
  SvalS = val_1340X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L47006: {
  code_1341X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1341X)))))<<2)), code_1341X, 20, 4);
  n_1342X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1342X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1343X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1343X);
  arg0K0 = 1;
  goto L23535;}
 L46214: {
  val_1344X = arg0K0;
  SvalS = val_1344X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L11348: {
  arg0K0 = (*((long *) ((((char *) (-3 + channel_828X))) + 20)));
  goto L46214;}
 L11354: {
  ch_1345X = arg0K0;
  prev_1346X = arg0K1;
  if ((1 == ch_1345X)) {
    addr_1347X = (((char *) (-3 + channel_828X))) + 20;S48_WRITE_BARRIER(channel_828X, addr_1347X, 1);
    *((long *) addr_1347X) = (long) (1);
    n_1348X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_828X))) + 8))))>>2)));
    arg0K0 = (((n_1348X)<<2));
    goto L46214;}
  else {
    if ((ch_1345X == channel_828X)) {
      y_1349X = Spending_channels_tailS;
      if ((ch_1345X == y_1349X)) {
        Spending_channels_tailS = prev_1346X;
        goto L11378;}
      else {
        goto L11378;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + ch_1345X))) + 16)));
      arg0K1 = ch_1345X;
      goto L11354;}}}
 L46197: {
  code_1350X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1350X)))))<<2)), code_1350X, 20, 4);
  n_1351X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1351X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1352X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1352X);
  arg0K0 = 1;
  goto L23535;}
 L17844: {
  i_1353X = arg0K0;
  res_1354X = arg0K1;
  if ((-1 == i_1353X)) {
    SvalS = res_1354X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    channel_1355X = *((Svm_channelsS) + i_1353X);
    if ((3 == (3 & channel_1355X))) {
      if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_1355X))) + -4))))>>2))))) {
        addr_1356X = s48_allocate_small(12);
        *((long *) addr_1356X) = (long) (2050);
        x_1357X = 3 + (((long) (addr_1356X + 4)));
        *((long *) (((char *) (-3 + x_1357X)))) = (long) (channel_1355X);
        *((long *) ((((char *) (-3 + x_1357X))) + 4)) = (long) (res_1354X);
        arg0K0 = x_1357X;
        goto L17858;}
      else {
        arg0K0 = res_1354X;
        goto L17858;}}
    else {
      arg0K0 = res_1354X;
      goto L17858;}}}
 L39492: {
  old_1358X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 == old_1358X)) {
    goto L39508;}
  else {
    addr_1359X = ((char *) (-3 + old_1358X));S48_WRITE_BARRIER(old_1358X, addr_1359X, 1);
    *((long *) addr_1359X) = (long) (1);
    goto L39508;}}
 L39523: {
  code_1360X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1360X)))))<<2)), code_1360X, 20, 4);
  n_1361X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1361X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proposal_835X);
  arg0K0 = 1;
  goto L23535;}
 L10101: {
  i_1362X = arg0K0;
  stob_1363X = *((long *) ((((char *) (-3 + log_839X))) + (((i_1362X)<<2))));
  if ((1 == stob_1363X)) {
    log_1364X = *((long *) ((((char *) (-3 + proposal_836X))) + 8));
    arg0K0 = 0;
    goto L10339;}
  else {
    verify_1365X = *((long *) ((((char *) (-3 + log_839X))) + (12 + (((i_1362X)<<2)))));
    value_1366X = *((long *) ((((char *) (-3 + log_839X))) + (8 + (((i_1362X)<<2)))));
    if ((29 == verify_1365X)) {
      if ((3 == (3 & stob_1363X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1363X))) + -4)))))) {
          goto L10153;}
        else {
          goto L39770;}}
      else {
        goto L39770;}}
    else {
      if ((verify_1365X == (*((long *) ((((char *) (-3 + stob_1363X))) + (-4 & (*((long *) ((((char *) (-3 + log_839X))) + (4 + (((i_1362X)<<2)))))))))))) {
        if ((verify_1365X == value_1366X)) {
          goto L10153;}
        else {
          if ((3 == (3 & stob_1363X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1363X))) + -4)))))) {
              goto L10153;}
            else {
              goto L39770;}}
          else {
            goto L39770;}}}
      else {
        goto L39770;}}}}
 L29086: {
  value_1367X = arg0K0;
  SvalS = value_1367X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L29087: {
  code_1368X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1368X)))))<<2)), code_1368X, 20, 12);
  n_1369X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1369X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_840X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_842X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_841X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L29196: {
  code_1370X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1370X)))))<<2)), code_1370X, 20, 8);
  n_1371X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1371X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_848X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((from_index_849X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_846X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((to_index_850X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_851X)<<2)));
  arg0K0 = 5;
  goto L23535;}
 L29256: {
  memcpy((void *)((((char *) (-3 + arg3_846X))) + to_index_850X), (void *)((((char *) (-3 + arg5_848X))) + from_index_849X),count_851X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L29360: {
  left_1372X = arg0K0;
  copies_1373X = arg0K1;
  if ((1 == copies_1373X)) {
    if ((left_1372X < count_851X)) {
      goto L29196;}
    else {
      from_index_1374X = ((from_index_849X)<<2);
      to_index_1375X = ((to_index_850X)<<2);
      count_1376X = ((count_851X)<<2);
      Stemp0S = arg5_848X;
      Stemp1S = arg3_846X;
      addr_1377X = s48_allocate_tracedAgc(28);
      if ((addr_1377X == NULL)) {
        arg0K0 = 1;
        goto L9808;}
      else {
        *((long *) addr_1377X) = (long) (6154);
        arg0K0 = (3 + (((long) (addr_1377X + 4))));
        goto L9808;}}}
  else {
    arg0K0 = (left_1372X - ((((*((long *) ((((char *) (-3 + copies_1373X))) + 16))))>>2)));
    arg0K1 = (*((long *) ((((char *) (-3 + copies_1373X))) + 20)));
    goto L29360;}}
 L29569: {
  code_1378X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1378X)))))<<2)), code_1378X, 28, 4);
  n_1379X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1379X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_858X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_859X)<<2)));
  arg0K0 = 2;
  goto L23535;}
 L29568: {
  value_1380X = arg0K0;
  SvalS = value_1380X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L15442: {
  i_1381X = arg0K0;
  next_stob_1382X = *((long *) ((((char *) (-3 + log_863X))) + (((i_1381X)<<2))));
  if ((1 == next_stob_1382X)) {
    v_1383X = add_log_entryAgc(2, i_1381X, arg2_858X, index_862X, ((((*((unsigned char *) ((((char *) (-3 + arg2_858X))) + (((index_862X)>>2))))))<<2)), 1);
    arg0K0 = v_1383X;
    goto L29568;}
  else {
    if ((arg2_858X == next_stob_1382X)) {
      if ((index_862X == (*((long *) ((((char *) (-3 + log_863X))) + (4 + (((i_1381X)<<2)))))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + log_863X))) + (8 + (((i_1381X)<<2))))));
        goto L29568;}
      else {
        goto L15464;}}
    else {
      goto L15464;}}}
 L33135: {
  code_1384X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1384X)))))<<2)), code_1384X, 20, 4);
  n_1385X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1385X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_858X);
  x_1386X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1386X);
  arg0K0 = 2;
  goto L23535;}
 L29711: {
  code_1387X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1387X)))))<<2)), code_1387X, 28, 4);
  n_1388X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1388X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_865X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_866X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_867X);
  arg0K0 = 3;
  goto L23535;}
 L29710: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L15618: {
  i_1389X = arg0K0;
  next_stob_1390X = *((long *) ((((char *) (-3 + log_871X))) + (((i_1389X)<<2))));
  if ((1 == next_stob_1390X)) {add_log_entryAgc(2, i_1389X, arg3_865X, index_870X, byte_867X, 0);
    goto L29710;}
  else {
    if ((arg3_865X == next_stob_1390X)) {
      if ((index_870X == (*((long *) ((((char *) (-3 + log_871X))) + (4 + (((i_1389X)<<2)))))))) {
        addr_1391X = (((char *) (-3 + log_871X))) + (8 + (((i_1389X)<<2)));S48_WRITE_BARRIER(log_871X, addr_1391X, byte_867X);
        *((long *) addr_1391X) = (long) (byte_867X);
        goto L29710;}
      else {
        goto L15638;}}
    else {
      goto L15638;}}}
 L29676: {
  code_1392X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1392X)))))<<2)), code_1392X, 20, 4);
  n_1393X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1393X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_865X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_866X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_867X);
  arg0K0 = 3;
  goto L23535;}
 L33256: {
  code_1394X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1394X)))))<<2)), code_1394X, 20, 4);
  n_1395X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1395X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_865X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_864X);
  x_1396X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1396X);
  arg0K0 = 3;
  goto L23535;}
 L42906: {
  reason_1397X = arg0K0;
  status_1398X = arg0K1;
  code_1399X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1399X)))))<<2)), code_1399X, (((reason_1397X)<<2)), 4);
  n_1400X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1400X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((reason_1397X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_877X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_876X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_875X);
  merged_arg0K0 = status_1398X;
  merged_arg0K1 = 0;
  get_error_string_return_tag = 2;
  goto get_error_string;
 get_error_string_return_2:
  x_1401X = get_error_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1401X);
  arg0K0 = 4;
  goto L23535;}
 L47693: {
  code_1402X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1402X)))))<<2)), code_1402X, 20, 4);
  n_1403X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1403X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_877X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_876X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_875X);
  x_1404X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1404X);
  arg0K0 = 4;
  goto L23535;}
 L48446: {
  i_1405X = arg0K0;
  h_1406X = arg0K1;
  if ((i_1405X < n_889X)) {
    arg0K0 = (1 + i_1405X);
    arg0K1 = (h_1406X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + x_888X))) + i_1405X))))))));
    goto L48446;}
  else {
    SvalS = (((h_1406X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L48423: {
  code_1407X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1407X)))))<<2)), code_1407X, 20, 4);
  n_1408X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1408X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1409X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1409X);
  arg0K0 = 1;
  goto L23535;}
 L43197: {
  code_1410X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1410X)))))<<2)), code_1410X, 20, 4);
  n_1411X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1411X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_890X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_891X);
  arg0K0 = 2;
  goto L23535;}
 L39956: {
  firstP_1412X = arg2K0;
  vector_1413X = s48_find_all(type_910X);
  if ((1 == vector_1413X)) {
    if (firstP_1412X) {s48_collect();
      arg2K0 = 0;
      goto L39956;}
    else {
      code_1414X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1414X)))))<<2)), code_1414X, 32, 4);
      n_1415X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1415X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (32);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((type_910X)<<2)));
      arg0K0 = 1;
      goto L23535;}}
  else {
    SvalS = vector_1413X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L40044: {
  firstP_1416X = arg2K0;
  type_1417X = arg0K1;
  vector_1418X = s48_find_all_records(type_1417X);
  if ((1 == vector_1418X)) {
    if (firstP_1416X) {
      Stemp0S = type_1417X;s48_collect();
      value_1419X = Stemp0S;
      Stemp0S = 1;
      arg2K0 = 0;
      arg0K1 = value_1419X;
      goto L40044;}
    else {
      code_1420X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1420X)))))<<2)), code_1420X, 32, 4);
      n_1421X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1421X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (32);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (type_1417X);
      arg0K0 = 1;
      goto L23535;}}
  else {
    SvalS = vector_1418X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L26648: {
  code_1422X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1422X)))))<<2)), code_1422X, 20, 4);
  n_1423X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1423X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1424X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1424X);
  arg0K0 = 1;
  goto L23535;}
 L24941: {
  Slast_code_calledS = code_919X;
  Scode_pointerS = ((((char *) (-3 + code_919X))) + (pc_922X + (((size_921X)>>2))));
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L25579: {
  code_1425X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1425X)))))<<2)), code_1425X, 20, 4);
  n_1426X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1426X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1427X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1427X);
  arg0K0 = 1;
  goto L23535;}
 L50830: {
  SvalS = (((old_928X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L8999: {
  proposal_1428X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  x_1429X = Scurrent_threadS;
  addr_1430X = (((char *) (-3 + x_1429X))) + 12;S48_WRITE_BARRIER(x_1429X, addr_1430X, proposal_1428X);
  *((long *) addr_1430X) = (long) (proposal_1428X);
  if ((12 == x_930X)) {
    arg0K0 = 0;
    arg0K1 = 25;
    arg0K2 = 0;
    goto L22681;}
  else {
    pc_1431X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    code_1432X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    Slast_code_calledS = code_1432X;
    Scode_pointerS = ((((char *) (-3 + code_1432X))) + (((pc_1431X)>>2)));
    v_1433X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = v_1433X;
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L49944: {
  x_1434X = s48_schedule_alarm_interrupt((((p_932X)>>2)));
  SvalS = (((x_1434X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L47177: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L47181;}
  else {
    arg2K0 = 1;
    goto L47181;}}
 L47182: {
  code_1435X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1435X)))))<<2)), code_1435X, 20, 4);
  n_1436X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1436X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_936X);
  x_1437X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1437X);
  arg0K0 = 2;
  goto L23535;}
 L29942: {
  rest_list_1438X = arg0K0;
  if ((25 == rest_list_1438X)) {
    proc_1439X = *((long *) ((SstackS) + (-4 + (((nargs_939X)<<2)))));
    name_1440X = *((long *) ((SstackS) + (-8 + (((nargs_939X)<<2)))));
    args_1441X = SstackS;
    if ((3 == (3 & name_1440X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + name_1440X))) + -4))))>>2))))) {
        if ((3 == (3 & proc_1439X))) {
          if ((18 == (31 & ((((*((long *) ((((char *) (-3 + proc_1439X))) + -4))))>>2))))) {
            if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_1439X))) + -4))))>>8)))) {
              SstackS = (ScontS);
              result_1442X = s48_external_call(proc_1439X, name_1440X, (-2 + nargs_939X), args_1441X);
              if ((Sexternal_exceptionPS)) {
                Sexternal_exceptionPS = 0;
                arg0K0 = (Sexternal_exception_nargsS);
                goto L23535;}
              else {
                SvalS = result_1442X;
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L24827;}}
            else {
              goto L30230;}}
          else {
            goto L30230;}}
        else {
          goto L30230;}}
      else {
        goto L30230;}}
    else {
      goto L30230;}}
  else {
    x_1443X = *((long *) (((char *) (-3 + rest_list_1438X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1443X);
    arg0K0 = (*((long *) ((((char *) (-3 + rest_list_1438X))) + 4)));
    goto L29942;}}
 L46407: {
  if ((1 == (SvalS))) {
    v_1444X = Hlookup2690((Sexported_bindingsS), arg2_945X, 0);
    arg0K0 = v_1444X;
    goto L46448;}
  else {
    v_1445X = Hlookup2671((Simported_bindingsS), arg2_945X, 0);
    arg0K0 = v_1445X;
    goto L46448;}}
 L46412: {
  code_1446X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1446X)))))<<2)), code_1446X, 20, 4);
  n_1447X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1447X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_945X);
  x_1448X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1448X);
  arg0K0 = 2;
  goto L23535;}
 L31758: {
  if ((1 == (SvalS))) {
    arg0K0 = (Sexported_bindingsS);
    goto L31793;}
  else {
    arg0K0 = (Simported_bindingsS);
    goto L31793;}}
 L31763: {
  code_1449X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1449X)))))<<2)), code_1449X, 20, 4);
  n_1450X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1450X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_947X);
  x_1451X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1451X);
  arg0K0 = 2;
  goto L23535;}
 L48341: {
  option_1452X = arg0K0;
  seconds_1453X = arg0K1;
  mseconds_1454X = arg0K2;
  if ((536869 < seconds_1453X)) {
    code_1455X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1455X)))))<<2)), code_1455X, 24, 4);
    n_1456X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1456X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (24);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((option_1452X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((seconds_1453X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mseconds_1454X)<<2)));
    arg0K0 = 3;
    goto L23535;}
  else {
    SvalS = (((((1000 * seconds_1453X) + mseconds_1454X))<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L50864: {
  s48_Scallback_return_stack_blockS = arg2_973X;
  arg0K0 = x_974X;
  goto L53340;}
 L40711: {
  val_1457X = arg0K0;
  SvalS = val_1457X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L40676: {
  code_1458X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1458X)))))<<2)), code_1458X, 20, 4);
  n_1459X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1459X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_975X);
  x_1460X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1460X);
  arg0K0 = 2;
  goto L23535;}
 L40334: {
  len_1461X = 1 + n_980X;
  addr_1462X = s48_allocate_small((4 + len_1461X));
  *((long *) addr_1462X) = (long) ((70 + (((len_1461X)<<8))));
  string_1463X = 3 + (((long) (addr_1462X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_1463X))) + n_980X)) = (unsigned char) (0);
  arg0K0 = arg2_979X;
  arg0K1 = (-1 + n_980X);
  goto L40311;}
 L40286: {
  if ((25 == arg2_979X)) {
    goto L40334;}
  else {
    code_1464X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1464X)))))<<2)), code_1464X, 20, 4);
    n_1465X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1465X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (20);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_979X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_980X)<<2)));
    arg0K0 = 2;
    goto L23535;}}
 L41849: {
  list_1466X = arg0K0;
  slow_1467X = arg0K1;
  move_slowP_1468X = arg2K2;
  if ((25 == list_1466X)) {
    SvalS = 1;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    if ((3 == (3 & list_1466X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_1466X))) + -4))))>>2))))) {
        head_1469X = *((long *) (((char *) (-3 + list_1466X))));
        if ((3 == (3 & head_1469X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_1469X))) + -4))))>>2))))) {
            if (((*((long *) (((char *) (-3 + head_1469X))))) == arg2_984X)) {
              SvalS = head_1469X;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L24827;}
            else {
              list_1470X = *((long *) ((((char *) (-3 + list_1466X))) + 4));
              if ((list_1470X == slow_1467X)) {
                goto L41835;}
              else {
                if (move_slowP_1468X) {
                  arg0K0 = list_1470X;
                  arg0K1 = (*((long *) ((((char *) (-3 + slow_1467X))) + 4)));
                  arg2K2 = 0;
                  goto L41849;}
                else {
                  arg0K0 = list_1470X;
                  arg0K1 = slow_1467X;
                  arg2K2 = 1;
                  goto L41849;}}}}
          else {
            goto L41835;}}
        else {
          goto L41835;}}
      else {
        goto L41835;}}
    else {
      goto L41835;}}}
 L30316: {
  code_1471X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1471X)))))<<2)), code_1471X, 28, 8);
  n_1472X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1472X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_989X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_988X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_990X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L30306: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg3_989X))) + (((index_990X)<<2)))));
  goto L30315;}
 L30315: {
  value_1473X = arg0K0;
  SvalS = value_1473X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L30336: {
  code_1474X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1474X)))))<<2)), code_1474X, 20, 8);
  n_1475X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1475X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_989X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_988X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_990X)<<2)));
  arg0K0 = 3;
  goto L23535;}
 L30606: {
  code_1476X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1476X)))))<<2)), code_1476X, 28, 8);
  n_1477X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1477X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_999X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_998X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1000X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1001X);
  arg0K0 = 4;
  goto L23535;}
 L30596: {
  addr_1478X = (((char *) (-3 + arg4_999X))) + (((index_1000X)<<2));S48_WRITE_BARRIER(arg4_999X, addr_1478X, value_1001X);
  *((long *) addr_1478X) = (long) (value_1001X);
  goto L30605;}
 L30605: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L30628: {
  code_1479X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1479X)))))<<2)), code_1479X, 20, 8);
  n_1480X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1480X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_999X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_998X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1000X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1001X);
  arg0K0 = 4;
  goto L23535;}
 L30917: {
  port_1481X = arg0K0;
  if ((3 == (3 & port_1481X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1481X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1481X))) + 4))))>>2))))) {
        goto L30974;}
      else {
        b_1482X = *((long *) ((((char *) (-3 + port_1481X))) + 16));
        if ((1 == b_1482X)) {
          code_1483X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1483X)))))<<2)), code_1483X, 52, 8);
          n_1484X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_1484X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (52);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1481X);
          arg0K0 = 1;
          goto L23535;}
        else {
          p_1485X = *((long *) ((((char *) (-3 + port_1481X))) + 24));
          i_1486X = (((*((long *) ((((char *) (-3 + port_1481X))) + 20))))>>2);
          if ((i_1486X == (((p_1485X)>>2)))) {
            code_1487X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1487X)))))<<2)), code_1487X, 52, 8);
            n_1488X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1488X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1481X);
            arg0K0 = 1;
            goto L23535;}
          else {
            val_1489X = 4 + (((i_1486X)<<2));
            addr_1490X = (((char *) (-3 + port_1481X))) + 20;S48_WRITE_BARRIER(port_1481X, addr_1490X, val_1489X);
            *((long *) addr_1490X) = (long) (val_1489X);
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1482X))) + i_1486X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L24827;}}}}
    else {
      goto L30974;}}
  else {
    goto L30974;}}
 L31167: {
  port_1491X = arg0K0;
  if ((3 == (3 & port_1491X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1491X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1491X))) + 4))))>>2))))) {
        goto L31224;}
      else {
        b_1492X = *((long *) ((((char *) (-3 + port_1491X))) + 16));
        if ((1 == b_1492X)) {
          code_1493X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1493X)))))<<2)), code_1493X, 52, 8);
          n_1494X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_1494X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (52);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1491X);
          arg0K0 = 1;
          goto L23535;}
        else {
          p_1495X = *((long *) ((((char *) (-3 + port_1491X))) + 24));
          i_1496X = (((*((long *) ((((char *) (-3 + port_1491X))) + 20))))>>2);
          if ((i_1496X == (((p_1495X)>>2)))) {
            code_1497X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1497X)))))<<2)), code_1497X, 52, 8);
            n_1498X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1498X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1491X);
            arg0K0 = 1;
            goto L23535;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1492X))) + i_1496X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L24827;}}}}
    else {
      goto L31224;}}
  else {
    goto L31224;}}
 L31410: {
  Kchar_1499X = arg0K0;
  port_1500X = arg0K1;
  if ((9 == (255 & Kchar_1499X))) {
    if ((3 == (3 & port_1500X))) {
      if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1500X))) + -4))))>>2))))) {
        if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1500X))) + 4))))>>2))))) {
          goto L31470;}
        else {
          b_1501X = *((long *) ((((char *) (-3 + port_1500X))) + 16));
          if ((1 == b_1501X)) {
            code_1502X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1502X)))))<<2)), code_1502X, 52, 8);
            n_1503X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1503X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (Kchar_1499X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1500X);
            arg0K0 = 2;
            goto L23535;}
          else {
            i_1504X = (((*((long *) ((((char *) (-3 + port_1500X))) + 20))))>>2);
            if ((i_1504X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1501X))) + -4))))>>8)))) {
              code_1505X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1505X)))))<<2)), code_1505X, 52, 8);
              n_1506X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_1506X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (52);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (Kchar_1499X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (port_1500X);
              arg0K0 = 2;
              goto L23535;}
            else {
              val_1507X = 4 + (((i_1504X)<<2));
              addr_1508X = (((char *) (-3 + port_1500X))) + 20;S48_WRITE_BARRIER(port_1500X, addr_1508X, val_1507X);
              *((long *) addr_1508X) = (long) (val_1507X);
              *((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_1500X))) + 16)))))) + i_1504X)) = (unsigned char) ((((unsigned char) (((char) (((Kchar_1499X)>>8)))))));
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 2);
              arg1K0 = (Scode_pointerS);
              goto L24827;}}}}
      else {
        goto L31470;}}
    else {
      goto L31470;}}
  else {
    goto L31470;}}
 L42079: {
  stuff_1509X = arg0K0;
  if ((3 == (3 & stuff_1509X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_1509X))) + -4))))>>2))))) {
      thing_1510X = *((long *) (((char *) (-3 + stuff_1509X))));
      if ((0 == (3 & thing_1510X))) {
        ps_write_integer((((thing_1510X)>>2)), out_1016X);
        goto L42085;}
      else {
        if ((9 == (255 & thing_1510X))) {
          ps_write_string("#\\", out_1016X);
          { long ignoreXX;
          PS_WRITE_CHAR((((char) (((thing_1510X)>>8)))), out_1016X, ignoreXX) }
          goto L42085;}
        else {
          if ((3 == (3 & thing_1510X))) {
            if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
              if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>8))))>>2)))) {
                type_1511X = *((long *) (((char *) (-3 + thing_1510X))));
                if ((3 == (3 & type_1511X))) {
                  if ((9 == (31 & ((((*((long *) ((((char *) (-3 + type_1511X))) + -4))))>>2))))) {
                    if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_1511X))) + -4))))>>8))))>>2)))) {
                      obj_1512X = *((long *) ((((char *) (-3 + type_1511X))) + 8));
                      if ((3 == (3 & obj_1512X))) {
                        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1512X))) + -4))))>>2))))) {
                          ps_write_string("#{", out_1016X);
                          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_1510X)))))))) + 8))))))))))))), out_1016X);
                          { long ignoreXX;
                          PS_WRITE_CHAR(125, out_1016X, ignoreXX) }
                          goto L42085;}
                        else {
                          goto L17121;}}
                      else {
                        goto L17121;}}
                    else {
                      goto L17121;}}
                  else {
                    goto L17121;}}
                else {
                  goto L17121;}}
              else {
                goto L17121;}}
            else {
              goto L17121;}}
          else {
            goto L17121;}}}}
    else {
      goto L42070;}}
  else {
    goto L42070;}}
 L26485: {
  v_1513X = arg0K0;
  ScontS = (cont_1035X + (4 + (((v_1513X)<<2))));
  v_1514X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_1515X = s48_invoke_native_continuation(((((long) (((char *) v_1514X)))) + protocol_skip_1034X));
  arg0K0 = v_1515X;
  goto L25322;}
 L22794: {
  v_1516X = arg0K0;
  SvalS = v_1516X;
  arg0K0 = cont_533X;
  goto L23817;}
 L26328: {
  x_1517X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1517X);
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L26310: {
  stack_nargs_1518X = arg0K0;
  l_1519X = arg0K1;
  if ((count_538X == stack_nargs_1518X)) {
    arg0K0 = l_1519X;
    goto L26328;}
  else {
    x_1520X = *((long *) (((char *) (-3 + l_1519X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1520X);
    arg0K0 = (1 + stack_nargs_1518X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_1519X))) + 4)));
    goto L26310;}}
 L26247: {
  loc_1521X = arg1K0;
  arg_1522X = arg1K1;
  if ((arg_1522X < arg_top_1053X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_1050X)<<2))));
    if ((0 == list_arg_count_1052X)) {
      goto L26234;}
    else {
      merged_arg0K0 = list_args_1051X;
      merged_arg0K1 = list_arg_count_1052X;
      push_list_return_tag = 3;
      goto push_list;
     push_list_return_3:
      goto L26234;}}
  else {
    *((long *) loc_1521X) = (long) ((*((long *) arg_1522X)));
    arg1K0 = (loc_1521X + -4);
    arg1K1 = (arg_1522X + -4);
    goto L26247;}}
 L23270: {
  arg_count_1523X = arg0K0;
  handlers_1524X = SHARED_REF((Sinterrupt_handlersS));
  if ((3 == (3 & handlers_1524X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_1524X))) + -4))))>>2))))) {
      goto L23288;}
    else {
      goto L23330;}}
  else {
    goto L23330;}}
 L11539: {
  channel_1525X = arg0K0;
  x_1526X = 1 == (Spending_channels_headS);
  if (x_1526X) {
    goto L11553;}
  else {
    Spending_interruptsS = (8 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        goto L11553;}
      else {
        goto L11553;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L11553;}}}
 L11586: {
  n_1527X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1527X)<<2)));
  arg0K0 = 2;
  goto L23270;}
 L8207: {
  count_1528X = arg0K0;
  i_1529X = arg0K1;
  offset_1530X = arg0K2;
  if ((0 == count_1528X)) {
    if ((i_1529X < total_count_1069X)) {
      arg0K0 = i_1529X;
      arg0K1 = offset_1530X;
      goto L6860;}
    else {
      arg0K0 = offset_1530X;
      goto L53374;}}
  else {
    value_1531X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1530X)))))<<2))));
    addr_1532X = (((char *) (-3 + new_env_1066X))) + (((i_1529X)<<2));S48_WRITE_BARRIER(new_env_1066X, addr_1532X, value_1531X);
    *((long *) addr_1532X) = (long) (value_1531X);
    arg0K0 = (-1 + count_1528X);
    arg0K1 = (1 + i_1529X);
    arg0K2 = (1 + offset_1530X);
    goto L8207;}}
 L10728: {
  count_1533X = arg0K0;
  i_1534X = arg0K1;
  offset_1535X = arg0K2;
  if ((0 == count_1533X)) {
    if ((i_1534X < total_count_1078X)) {
      arg0K0 = i_1534X;
      arg0K1 = offset_1535X;
      goto L7552;}
    else {
      arg0K0 = offset_1535X;
      goto L53364;}}
  else {
    value_1536X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1535X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1535X))))))<<2))));
    addr_1537X = (((char *) (-3 + new_env_1075X))) + (((i_1534X)<<2));S48_WRITE_BARRIER(new_env_1075X, addr_1537X, value_1536X);
    *((long *) addr_1537X) = (long) (value_1536X);
    arg0K0 = (-1 + count_1533X);
    arg0K1 = (1 + i_1534X);
    arg0K2 = (2 + offset_1535X);
    goto L10728;}}
 L49056: {
  pop_continuationB_return_tag = 6;
  goto pop_continuationB;
 pop_continuationB_return_6:
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L23817: {
  cont_1538X = arg0K0;
  if ((1 == cont_1538X)) {
    if ((0 == (3 & (SvalS)))) {
      s48_Scallback_return_stack_blockS = 1;
      arg0K0 = ((((SvalS))>>2));
      goto L53340;}
    else {
      goto L23832;}}
  else {
    goto L23832;}}
 L49200: {
  v_1539X = arg0K0;
  ScontS = (cont_1110X + (4 + (((v_1539X)<<2))));
  merged_arg0K0 = 0;
  move_args_above_contB_return_tag = 7;
  goto move_args_above_contB;
 move_args_above_contB_return_7:
  goto L49105;}
 L49105: {
  x_1540X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1540X);
  SvalS = proc_1109X;
  arg0K0 = 1;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L46741;}
 L26536: {
  code_1541X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1541X)))))<<2)), code_1541X, 20, 32);
  n_1542X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1542X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (template_607X);
  arg0K0 = 1;
  goto L23535;}
 L14211: {
  if ((3 == (3 & x_630X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_630X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50449;}
    else {
      goto L14217;}}
  else {
    goto L14217;}}
 L41311: {
  if ((3 == (3 & n_631X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_631X))) + -4))))>>2))))) {
      arg0K0 = n_631X;
      goto L24141;}
    else {
      goto L41317;}}
  else {
    goto L41317;}}
 L41462: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L41445: {
  if ((3 == (3 & n_1127X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + n_1127X))) + -4))))>>2))))) {
      goto L41462;}
    else {
      goto L41453;}}
  else {
    goto L41453;}}
 L34115: {
  if ((0 == (3 & arg2_633X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16265;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_633X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16265;}}
 L34132: {
  code_1543X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1543X)))))<<2)), code_1543X, 20, 4);
  n_1544X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1544X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_633X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_634X);
  arg0K0 = 2;
  goto L23535;}
 L8371: {
  b_1545X = arg0K0;
  lo_a_1546X = 65535 & a_1142X;
  lo_b_1547X = 65535 & b_1545X;
  hi_a_1548X = 65535 & (((a_1142X)>>16));
  hi_b_1549X = 65535 & (((b_1545X)>>16));
  lo_c_1550X = SMALL_MULTIPLY(lo_a_1546X, lo_b_1547X);
  v_1551X = SMALL_MULTIPLY(lo_b_1547X, hi_a_1548X);
  v_1552X = SMALL_MULTIPLY(lo_a_1546X, hi_b_1549X);
  mid_c_1553X = v_1552X + v_1551X;
  c_1554X = lo_c_1550X + (((mid_c_1553X)<<16));
  if ((0 < hi_a_1548X)) {
    if ((0 < hi_b_1549X)) {
      arg0K0 = arg2_636X;
      arg0K1 = y_637X;
      goto L18862;}
    else {
      goto L8413;}}
  else {
    goto L8413;}}
 L43339: {
  arg0K0 = arg2_636X;
  arg0K1 = y_637X;
  goto L18862;}
 L34420: {
  if ((0 == (3 & arg2_640X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16222;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_640X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16222;}}
 L34437: {
  code_1555X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1555X)))))<<2)), code_1555X, 20, 4);
  n_1556X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1556X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_640X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_641X);
  arg0K0 = 2;
  goto L23535;}
 L8629: {
  b_1557X = arg0K0;
  c_1558X = a_1162X / b_1557X;
  x_1559X = 0 == (a_1162X % b_1557X);
  if (x_1559X) {
    if ((a_645X < 0)) {
      if ((b_646X < 0)) {s48_make_availableAgc(16);
        if ((536870911 < c_1558X)) {
          goto L51662;}
        else {
          if ((c_1558X < -536870912)) {
            goto L51662;}
          else {
            arg0K0 = (((c_1558X)<<2));
            goto L51657;}}}
      else {
        goto L8675;}}
    else {
      if ((b_646X < 0)) {
        goto L8675;}
      else {s48_make_availableAgc(16);
        if ((536870911 < c_1558X)) {
          goto L51684;}
        else {
          if ((c_1558X < -536870912)) {
            goto L51684;}
          else {
            arg0K0 = (((c_1558X)<<2));
            goto L51679;}}}}}
  else {
    arg0K0 = arg2_643X;
    arg0K1 = y_644X;
    goto L24172;}}
 L43582: {
  if ((0 == (3 & arg2_643X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15790;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_643X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15790;}}
 L43622: {
  result_1560X = arg0K0;
  if ((1 == result_1560X)) {
    arg0K0 = arg2_643X;
    arg0K1 = y_644X;
    goto L24172;}
  else {
    SvalS = result_1560X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L34721: {
  if ((0 == (3 & (arg2_647X | y_648X)))) {
    if ((arg2_647X == y_648X)) {
      arg0K0 = 5;
      goto L34725;}
    else {
      arg0K0 = 1;
      goto L34725;}}
  else {
    if ((3 == (3 & arg2_647X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_647X))) + -4))))>>2))))) {
        if ((3 == (3 & y_648X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_648X))) + -4))))>>2))))) {
            b_1561X = s48_bignum_equal_p((((char *) (-3 + arg2_647X))), (((char *) (-3 + y_648X))));
            if (b_1561X) {
              arg0K0 = 5;
              goto L34725;}
            else {
              arg0K0 = 1;
              goto L34725;}}
          else {
            arg0K0 = 1;
            goto L34725;}}
        else {
          arg0K0 = 1;
          goto L34725;}}
      else {
        arg0K0 = 1;
        goto L34725;}}
    else {
      arg0K0 = 1;
      goto L34725;}}}
 L34741: {
  val_1562X = arg0K0;
  SvalS = val_1562X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34742: {
  code_1563X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1563X)))))<<2)), code_1563X, 20, 4);
  n_1564X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1564X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_647X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_648X);
  arg0K0 = 2;
  goto L23535;}
 L34997: {
  if ((0 == (3 & arg2_649X))) {
    if ((0 == (3 & y_650X))) {
      if ((arg2_649X < y_650X)) {
        arg0K0 = 5;
        goto L35001;}
      else {
        arg0K0 = 1;
        goto L35001;}}
    else {
      v_1565X = s48_bignum_test((((char *) (-3 + y_650X))));
      if ((1 == v_1565X)) {
        arg0K0 = 5;
        goto L35001;}
      else {
        arg0K0 = 1;
        goto L35001;}}}
  else {
    if ((0 == (3 & y_650X))) {
      v_1566X = s48_bignum_test((((char *) (-3 + arg2_649X))));
      if ((1 == v_1566X)) {
        arg0K0 = 1;
        goto L35001;}
      else {
        arg0K0 = 5;
        goto L35001;}}
    else {
      v_1567X = s48_bignum_compare((((char *) (-3 + arg2_649X))), (((char *) (-3 + y_650X))));
      if ((-1 == v_1567X)) {
        arg0K0 = 5;
        goto L35001;}
      else {
        arg0K0 = 1;
        goto L35001;}}}}
 L35017: {
  val_1568X = arg0K0;
  SvalS = val_1568X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35018: {
  code_1569X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1569X)))))<<2)), code_1569X, 20, 4);
  n_1570X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1570X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_649X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_650X);
  arg0K0 = 2;
  goto L23535;}
 L35336: {
  if ((0 == (3 & y_652X))) {
    if ((0 == (3 & arg2_651X))) {
      if ((y_652X < arg2_651X)) {
        arg0K0 = 5;
        goto L35340;}
      else {
        arg0K0 = 1;
        goto L35340;}}
    else {
      v_1571X = s48_bignum_test((((char *) (-3 + arg2_651X))));
      if ((1 == v_1571X)) {
        arg0K0 = 5;
        goto L35340;}
      else {
        arg0K0 = 1;
        goto L35340;}}}
  else {
    if ((0 == (3 & arg2_651X))) {
      v_1572X = s48_bignum_test((((char *) (-3 + y_652X))));
      if ((1 == v_1572X)) {
        arg0K0 = 1;
        goto L35340;}
      else {
        arg0K0 = 5;
        goto L35340;}}
    else {
      v_1573X = s48_bignum_compare((((char *) (-3 + y_652X))), (((char *) (-3 + arg2_651X))));
      if ((-1 == v_1573X)) {
        arg0K0 = 5;
        goto L35340;}
      else {
        arg0K0 = 1;
        goto L35340;}}}}
 L35356: {
  val_1574X = arg0K0;
  SvalS = val_1574X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35357: {
  code_1575X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1575X)))))<<2)), code_1575X, 20, 4);
  n_1576X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1576X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_651X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_652X);
  arg0K0 = 2;
  goto L23535;}
 L35675: {
  if ((0 == (3 & y_654X))) {
    if ((0 == (3 & arg2_653X))) {
      if ((y_654X < arg2_653X)) {
        arg0K0 = 1;
        goto L35679;}
      else {
        arg0K0 = 5;
        goto L35679;}}
    else {
      v_1577X = s48_bignum_test((((char *) (-3 + arg2_653X))));
      if ((1 == v_1577X)) {
        arg0K0 = 1;
        goto L35679;}
      else {
        arg0K0 = 5;
        goto L35679;}}}
  else {
    if ((0 == (3 & arg2_653X))) {
      v_1578X = s48_bignum_test((((char *) (-3 + y_654X))));
      if ((1 == v_1578X)) {
        arg0K0 = 5;
        goto L35679;}
      else {
        arg0K0 = 1;
        goto L35679;}}
    else {
      v_1579X = s48_bignum_compare((((char *) (-3 + y_654X))), (((char *) (-3 + arg2_653X))));
      if ((-1 == v_1579X)) {
        arg0K0 = 1;
        goto L35679;}
      else {
        arg0K0 = 5;
        goto L35679;}}}}
 L35695: {
  val_1580X = arg0K0;
  SvalS = val_1580X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35696: {
  code_1581X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1581X)))))<<2)), code_1581X, 20, 4);
  n_1582X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1582X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_653X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_654X);
  arg0K0 = 2;
  goto L23535;}
 L35985: {
  if ((0 == (3 & arg2_655X))) {
    if ((0 == (3 & y_656X))) {
      if ((arg2_655X < y_656X)) {
        arg0K0 = 1;
        goto L35989;}
      else {
        arg0K0 = 5;
        goto L35989;}}
    else {
      v_1583X = s48_bignum_test((((char *) (-3 + y_656X))));
      if ((1 == v_1583X)) {
        arg0K0 = 1;
        goto L35989;}
      else {
        arg0K0 = 5;
        goto L35989;}}}
  else {
    if ((0 == (3 & y_656X))) {
      v_1584X = s48_bignum_test((((char *) (-3 + arg2_655X))));
      if ((1 == v_1584X)) {
        arg0K0 = 5;
        goto L35989;}
      else {
        arg0K0 = 1;
        goto L35989;}}
    else {
      v_1585X = s48_bignum_compare((((char *) (-3 + arg2_655X))), (((char *) (-3 + y_656X))));
      if ((-1 == v_1585X)) {
        arg0K0 = 1;
        goto L35989;}
      else {
        arg0K0 = 5;
        goto L35989;}}}}
 L36005: {
  val_1586X = arg0K0;
  SvalS = val_1586X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L36006: {
  code_1587X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1587X)))))<<2)), code_1587X, 20, 4);
  n_1588X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1588X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_655X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_656X);
  arg0K0 = 2;
  goto L23535;}
 L19492: {
  length0_1589X = arg0K0;
  extra0_1590X = arg0K1;
  if ((0 == (3 & y_1178X))) {
    arg0K0 = 3;
    goto L19494;}
  else {
    arg0K0 = 0;
    goto L19494;}}
 L9318: {
  b_1591X = arg0K0;
  c_1592X = a_1179X / b_1591X;
  if ((a_659X < 0)) {
    if ((b_660X < 0)) {
      goto L9364;}
    else {
      goto L9363;}}
  else {
    if ((b_660X < 0)) {
      goto L9363;}
    else {
      goto L9364;}}}
 L36301: {
  arg0K0 = arg2_657X;
  arg0K1 = y_658X;
  goto L19462;}
 L19583: {
  length0_1593X = arg0K0;
  extra0_1594X = arg0K1;
  if ((0 == (3 & y_1181X))) {
    arg0K0 = 3;
    goto L19585;}
  else {
    arg0K0 = 0;
    goto L19585;}}
 L36477: {
  b_1595X = arg0K0;
  c_1596X = a_1182X % b_1595X;
  if ((a_663X < 0)) {
    arg0K0 = (0 - c_1596X);
    goto L36481;}
  else {
    arg0K0 = c_1596X;
    goto L36481;}}
 L36455: {
  arg0K0 = arg2_661X;
  arg0K1 = y_662X;
  goto L19553;}
 L24079: {
  x_1597X = arg0K0;
  if ((536870911 < x_1597X)) {
    goto L24080;}
  else {
    if ((x_1597X < -536870912)) {
      goto L24080;}
    else {
      arg0K0 = (((x_1597X)<<2));
      goto L53340;}}}
 L19070: {
  length_1598X = arg0K0;
  extra_1599X = arg0K1;
  Stemp0S = x_1194X;s48_make_availableAgc(((((length_1598X + extra_1599X))<<2)));
  value_1600X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1600X))) {
    v_1601X = (char *) s48_long_to_bignum((((value_1600X)>>2)));
    arg1K0 = v_1601X;
    goto L19062;}
  else {
    arg1K0 = (((char *) (-3 + value_1600X)));
    goto L19062;}}
 L19195: {
  length_1602X = arg0K0;
  extra_1603X = arg0K1;
  if ((length_1602X < 1)) {
    arg0K0 = 1;
    goto L19197;}
  else {
    arg0K0 = length_1602X;
    goto L19197;}}
 L37179: {
  x_1604X = arg0K0;
  count_1605X = arg0K1;
  if ((0 == x_1604X)) {
    SvalS = (((count_1605X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    arg0K0 = (((x_1604X)>>1));
    arg0K1 = (count_1605X + (1 & x_1604X));
    goto L37179;}}
 L18611: {
  length_1606X = arg0K0;
  extra_1607X = arg0K1;
  if ((length_1606X < 1)) {
    arg0K0 = 1;
    goto L18613;}
  else {
    arg0K0 = length_1606X;
    goto L18613;}}
 L37280: {
  if ((0 == (3 & arg2_678X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16004;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_678X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16004;}}
 L37459: {
  if ((0 == (3 & arg2_680X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15961;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_680X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15961;}}
 L37638: {
  if ((0 == (3 & arg2_682X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15918;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_682X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15918;}}
 L43966: {
  v_1608X = (char *) s48_long_to_bignum(x_1216X);
  v_1609X = enter_bignum(v_1608X);
  arg0K0 = v_1609X;
  goto L43961;}
 L43961: {
  val_1610X = arg0K0;
  SvalS = val_1610X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L43988: {
  v_1611X = (char *) s48_long_to_bignum(result_1218X);
  v_1612X = enter_bignum(v_1611X);
  arg0K0 = v_1612X;
  goto L43983;}
 L43983: {
  val_1613X = arg0K0;
  SvalS = val_1613X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L43871: {
  x_1614X = arg0K0;
  y_1615X = arg0K1;
  y_1616X = ((y_1615X)>>2);
  merged_arg0K0 = x_1614X;
  merged_arg0K1 = y_1616X;
  shift_space_return_tag = 1;
  goto shift_space;
 shift_space_return_1:
  needed_1617X = shift_space0_return_value;
  Stemp0S = x_1614X;s48_make_availableAgc((((needed_1617X)<<2)));
  value_1618X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1618X))) {
    v_1619X = (char *) s48_long_to_bignum((((value_1618X)>>2)));
    arg1K0 = v_1619X;
    goto L43933;}
  else {
    arg1K0 = (((char *) (-3 + value_1618X)));
    goto L43933;}}
 L44010: {
  v_1620X = (char *) s48_long_to_bignum(result_1218X);
  v_1621X = enter_bignum(v_1620X);
  arg0K0 = v_1621X;
  goto L44005;}
 L44005: {
  val_1622X = arg0K0;
  SvalS = val_1622X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L44041: {
  x_1623X = arg1K0;
  external_bignum_1624X = (char *) s48_bignum_arithmetic_shift(x_1623X, y_1220X);
  v_1625X = s48_bignum_fits_in_word_p(external_bignum_1624X, 30, 1);
  if (v_1625X) {
    n_1626X = s48_bignum_to_long(external_bignum_1624X);
    arg0K0 = (((n_1626X)<<2));
    goto L43879;}
  else {
    v_1627X = enter_bignum(external_bignum_1624X);
    arg0K0 = v_1627X;
    goto L43879;}}
 L27697: {
  i_1628X = arg0K0;
  rest_list_1629X = arg0K1;
  if ((25 == rest_list_1629X)) {
    SvalS = new_717X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    *((long *) ((((char *) (-3 + new_717X))) + (((i_1628X)<<2)))) = (long) ((*((long *) (((char *) (-3 + rest_list_1629X))))));
    arg0K0 = (1 + i_1628X);
    arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1629X))) + 4)));
    goto L27697;}}
 L28142: {
  i_1630X = arg0K0;
  if ((i_1630X < 0)) {
    SvalS = x_1250X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    addr_1631X = (((char *) (-3 + x_1250X))) + (((i_1630X)<<2));S48_WRITE_BARRIER(x_1250X, addr_1631X, value_1251X);
    *((long *) addr_1631X) = (long) (value_1251X);
    arg0K0 = (-1 + i_1630X);
    goto L28142;}}
 L37920: {
  i_1632X = arg0K0;
  if ((i_1632X < 0)) {
    SvalS = vector_1266X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1266X))) + i_1632X)) = (unsigned char) (init_753X);
    arg0K0 = (-1 + i_1632X);
    goto L37920;}}
 L38132: {
  i_1633X = arg0K0;
  if ((i_1633X < 0)) {
    SvalS = vector_1286X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1286X))) + i_1633X)) = (unsigned char) ((((unsigned char) init_769X)));
    arg0K0 = (-1 + i_1633X);
    goto L38132;}}
 L21362: {
  bucket_1634X = arg0K0;
  arg0K0 = bucket_1634X;
  goto L21368;}
 L42178: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L38357: {
  index_1635X = arg0K0;
  channel_1636X = make_registered_channel(mode_794X, arg3_793X, index_1635X, close_silentlyP_795X, 0, &reason_1637X);
  if ((1 == channel_1636X)) {
    if ((3 == (3 & arg3_793X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_793X))) + -4))))>>2))))) {
        if ((1 == mode_794X)) {
          goto L38488;}
        else {
          if ((3 == mode_794X)) {
            goto L38488;}
          else {
            v_1638X = ps_close_fd(index_1635X);
            arg0K0 = v_1638X;
            goto L38483;}}}
      else {
        arg0K0 = reason_1637X;
        goto L38327;}}
    else {
      arg0K0 = reason_1637X;
      goto L38327;}}
  else {
    SvalS = channel_1636X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L38415: {
  v_1639X = ps_open_fd((((char *)(((char *) (-3 + arg3_793X))))), 1, &v_1640X);
  arg0K0 = v_1639X;
  arg0K1 = v_1640X;
  goto L38428;}
 L38428: {
  channel_1641X = arg0K0;
  status_1642X = arg0K1;
  if ((status_1642X == NO_ERRORS)) {
    arg0K0 = channel_1641X;
    goto L38357;}
  else {
    if ((status_1642X == ENOENT)) {
      arg0K0 = 10;
      goto L38327;}
    else {
      code_1643X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1643X)))))<<2)), code_1643X, 96, 4);
      n_1644X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1644X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (96);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_793X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_794X)<<2)));
      merged_arg0K0 = status_1642X;
      merged_arg0K1 = 0;
      get_error_string_return_tag = 3;
      goto get_error_string;
     get_error_string_return_3:
      x_1645X = get_error_string0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1645X);
      arg0K0 = 3;
      goto L23535;}}}
 L45830: {
  waitP_1646X = arg2K0;
  start_1647X = ((arg3_808X)>>2);
  count_1648X = ((arg2_807X)>>2);
  v_1649X = 4 == (*((long *) (((char *) (-3 + arg5_810X)))));
  if (v_1649X) {
    if ((3 == (3 & arg4_809X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_809X))) + -4))))>>2))))) {
        goto L38743;}
      else {
        goto L38990;}}
    else {
      goto L38990;}}
  else {
    goto L38811;}}
 L39154: {
  y_1650X = arg0K0;
  if ((y_1650X < (start_815X + count_816X))) {
    goto L39206;}
  else {
    got_1651X = ps_write_fd(((((*((long *) ((((char *) (-3 + arg4_814X))) + 8))))>>2)), ((((char *) (-3 + arg3_813X))) + start_815X), count_816X, &pendingP_1652X, &status_1653X);
    if ((status_1653X == NO_ERRORS)) {
      if (pendingP_1652X) {
        arg0K0 = 1;
        goto L39205;}
      else {
        arg0K0 = (((got_1651X)<<2));
        goto L39205;}}
    else {
      code_1654X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1654X)))))<<2)), code_1654X, 96, 4);
      n_1655X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1655X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (96);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg4_814X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_813X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((start_815X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((count_816X)<<2)));
      merged_arg0K0 = status_1653X;
      merged_arg0K1 = 0;
      get_error_string_return_tag = 4;
      goto get_error_string;
     get_error_string_return_4:
      x_1656X = get_error_string0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1656X);
      arg0K0 = 5;
      goto L23535;}}}
 L39373: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_813X))) + -4))))>>8));
  goto L39154;}
 L11378: {
  val_1657X = *((long *) ((((char *) (-3 + ch_1345X))) + 16));
  addr_1658X = (((char *) (-3 + prev_1346X))) + 16;S48_WRITE_BARRIER(prev_1346X, addr_1658X, val_1657X);
  *((long *) addr_1658X) = (long) (val_1657X);
  addr_1659X = (((char *) (-3 + ch_1345X))) + 16;S48_WRITE_BARRIER(ch_1345X, addr_1659X, 1);
  *((long *) addr_1659X) = (long) (1);
  arg0K0 = (*((long *) ((((char *) (-3 + ch_1345X))) + 20)));
  goto L46214;}
 L17858: {
  v_1660X = arg0K0;
  arg0K0 = (-1 + i_1353X);
  arg0K1 = v_1660X;
  goto L17844;}
 L39508: {
  if ((1 == proposal_835X)) {
    goto L39520;}
  else {
    addr_1661X = ((char *) (-3 + proposal_835X));S48_WRITE_BARRIER(proposal_835X, addr_1661X, 5);
    *((long *) addr_1661X) = (long) (5);
    goto L39520;}}
 L10339: {
  i_1662X = arg0K0;
  stob_1663X = *((long *) ((((char *) (-3 + log_1364X))) + (((i_1662X)<<2))));
  if ((1 == stob_1663X)) {
    copies_1664X = *((long *) ((((char *) (-3 + proposal_836X))) + 12));
    arg0K0 = copies_1664X;
    goto L39886;}
  else {
    verify_1665X = *((long *) ((((char *) (-3 + log_1364X))) + (12 + (((i_1662X)<<2)))));
    value_1666X = *((long *) ((((char *) (-3 + log_1364X))) + (8 + (((i_1662X)<<2)))));
    if ((29 == verify_1665X)) {
      if ((3 == (3 & stob_1663X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1663X))) + -4)))))) {
          goto L10391;}
        else {
          goto L39770;}}
      else {
        goto L39770;}}
    else {
      if ((verify_1665X == ((((*((unsigned char *) ((((char *) (-3 + stob_1663X))) + ((((*((long *) ((((char *) (-3 + log_1364X))) + (4 + (((i_1662X)<<2)))))))>>2))))))<<2)))) {
        if ((verify_1665X == value_1666X)) {
          goto L10391;}
        else {
          if ((3 == (3 & stob_1663X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1663X))) + -4)))))) {
              goto L10391;}
            else {
              goto L39770;}}
          else {
            goto L39770;}}}
      else {
        goto L39770;}}}}
 L10153: {
  arg0K0 = (4 + i_1362X);
  goto L10101;}
 L39770: {
RELEASE_PROPOSAL_LOCK();
  x_1667X = Scurrent_threadS;
  addr_1668X = (((char *) (-3 + x_1667X))) + 12;S48_WRITE_BARRIER(x_1667X, addr_1668X, 1);
  *((long *) addr_1668X) = (long) (1);
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L9808: {
  vector_1669X = arg0K0;
  if ((1 == vector_1669X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_1670X;
    goto L9771;}
  else {
    arg0K0 = vector_1669X;
    goto L9771;}}
 L15464: {
  arg0K0 = (4 + i_1381X);
  goto L15442;}
 L15638: {
  arg0K0 = (4 + i_1389X);
  goto L15618;}
 L47181: {
  minutesP_1671X = arg2K0;
  pending_interruptP_return_tag = 3;
  goto pending_interruptP;
 pending_interruptP_return_3:
  x_1672X = pending_interruptP0_return_value;
  if (x_1672X) {
    goto L47211;}
  else {
    if ((0 == (Spending_interruptsS))) {s48_wait_for_event((((arg2_936X)>>2)), minutesP_1671X);
      goto L47211;}
    else {
      goto L47211;}}}
 L30230: {
  code_1673X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1673X)))))<<2)), code_1673X, 20, 4);
  n_1674X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1674X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1439X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (name_1440X);
  arg0K0 = 2;
  goto L23535;}
 L46448: {
  val_1675X = arg0K0;
  SvalS = val_1675X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L31793: {
  table_1676X = arg0K0;
  n_1677X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_947X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L20875;}
 L40311: {
  l_1678X = arg0K0;
  i_1679X = arg0K1;
  if ((i_1679X < 0)) {
    SvalS = string_1463X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_1463X))) + i_1679X)) = (unsigned char) ((((unsigned char) (((char) ((((*((long *) (((char *) (-3 + l_1678X))))))>>8)))))));
    arg0K0 = (*((long *) ((((char *) (-3 + l_1678X))) + 4)));
    arg0K1 = (-1 + i_1679X);
    goto L40311;}}
 L41835: {
  code_1680X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1680X)))))<<2)), code_1680X, 20, 4);
  n_1681X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1681X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_984X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_985X);
  arg0K0 = 2;
  goto L23535;}
 L30974: {
  code_1682X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1682X)))))<<2)), code_1682X, 20, 8);
  n_1683X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1683X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1481X);
  arg0K0 = 1;
  goto L23535;}
 L31224: {
  code_1684X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1684X)))))<<2)), code_1684X, 20, 8);
  n_1685X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1685X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1491X);
  arg0K0 = 1;
  goto L23535;}
 L31470: {
  code_1686X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1686X)))))<<2)), code_1686X, 20, 8);
  n_1687X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1687X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (Kchar_1499X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1500X);
  arg0K0 = 2;
  goto L23535;}
 L42085: {
  arg0K0 = (*((long *) ((((char *) (-3 + stuff_1509X))) + 4)));
  goto L42079;}
 L17121: {
  if ((3 == (3 & thing_1510X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + thing_1510X)))));
      goto L17179;}
    else {
      goto L17129;}}
  else {
    goto L17129;}}
 L42070: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_1016X, ignoreXX) }
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L26234: {
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1049X));
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L23288: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_1524X))) + (((i_1054X)<<2)))));
  obj_1688X = SvalS;
  if ((3 == (3 & obj_1688X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1688X))) + -4))))>>2))))) {
      goto L23305;}
    else {
      goto L23344;}}
  else {
    goto L23344;}}
 L23330: {
  ps_error("interrupt handler is not a vector", 0);
  goto L23288;}
 L11553: {
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (channel_1525X);
  x_1689X = *((long *) ((((char *) (-3 + channel_1525X))) + 20));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1689X);
  n_1690X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1690X)<<2)));
  arg0K0 = 3;
  goto L23270;}
 L6860: {
  i_1691X = arg0K0;
  offset_1692X = arg0K1;
  if ((i_1691X == total_count_1069X)) {
    arg0K0 = offset_1692X;
    goto L53374;}
  else {
    env_1693X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1692X)))))<<2))));
    count_1694X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1692X)));
    arg0K0 = count_1694X;
    arg0K1 = i_1691X;
    arg0K2 = (2 + offset_1692X);
    goto L6877;}}
 L53374: {
  bytes_used_1695X = arg0K0;
  SvalS = new_env_567X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1695X));
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L7552: {
  i_1696X = arg0K0;
  offset_1697X = arg0K1;
  if ((i_1696X == total_count_1078X)) {
    arg0K0 = offset_1697X;
    goto L53364;}
  else {
    env_1698X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1697X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1697X))))))<<2))));
    index_1699X = 2 + offset_1697X;
    count_1700X = ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1699X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1699X))));
    arg0K0 = count_1700X;
    arg0K1 = i_1696X;
    arg0K2 = (4 + offset_1697X);
    goto L7569;}}
 L53364: {
  bytes_used_1701X = arg0K0;
  SvalS = new_env_573X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1701X));
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L23832: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_1702X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1702X)))))<<2)), code_1702X, 20, 0);
  n_1703X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1703X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1704X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1704X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (cont_1538X);
  arg0K0 = 2;
  goto L23535;}
 L14217: {
  if ((3 == (3 & x_630X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + x_630X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50449;}
    else {
      arg0K0 = 1;
      goto L50449;}}
  else {
    arg0K0 = 1;
    goto L50449;}}
 L41317: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L41453: {
  if ((3 == (3 & n_1127X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1127X))) + -4))))>>2))))) {
      goto L41462;}
    else {
      goto L41463;}}
  else {
    goto L41463;}}
 L16265: {
  length0_1705X = arg0K0;
  extra0_1706X = arg0K1;
  if ((0 == (3 & y_634X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16273;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_634X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16273;}}
 L18862: {
  x_1707X = arg0K0;
  y_1708X = arg0K1;
  if ((0 == (3 & x_1707X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16185;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1707X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16185;}}
 L8413: {
  if ((536870911 < lo_c_1550X)) {
    arg0K0 = arg2_636X;
    arg0K1 = y_637X;
    goto L18862;}
  else {
    if ((lo_c_1550X < 0)) {
      arg0K0 = arg2_636X;
      arg0K1 = y_637X;
      goto L18862;}
    else {
      if ((8192 < mid_c_1553X)) {
        arg0K0 = arg2_636X;
        arg0K1 = y_637X;
        goto L18862;}
      else {
        if ((a_638X < 0)) {
          if ((b_639X < 0)) {s48_make_availableAgc(16);
            if ((536870911 < c_1554X)) {
              goto L51571;}
            else {
              if ((c_1554X < -536870912)) {
                goto L51571;}
              else {
                arg0K0 = (((c_1554X)<<2));
                goto L51566;}}}
          else {
            goto L8441;}}
        else {
          if ((b_639X < 0)) {
            goto L8441;}
          else {s48_make_availableAgc(16);
            if ((536870911 < c_1554X)) {
              goto L51593;}
            else {
              if ((c_1554X < -536870912)) {
                goto L51593;}
              else {
                arg0K0 = (((c_1554X)<<2));
                goto L51588;}}}}}}}}
 L16222: {
  length0_1709X = arg0K0;
  extra0_1710X = arg0K1;
  if ((0 == (3 & y_641X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16230;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_641X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16230;}}
 L51662: {
  v_1711X = (char *) s48_long_to_bignum(c_1558X);
  v_1712X = enter_bignum(v_1711X);
  arg0K0 = v_1712X;
  goto L51657;}
 L51657: {
  val_1713X = arg0K0;
  SvalS = val_1713X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L8675: {
  x_1714X = 0 - c_1558X;s48_make_availableAgc(16);
  if ((536870911 < x_1714X)) {
    goto L51640;}
  else {
    if ((x_1714X < -536870912)) {
      goto L51640;}
    else {
      arg0K0 = (((x_1714X)<<2));
      goto L51635;}}}
 L51684: {
  v_1715X = (char *) s48_long_to_bignum(c_1558X);
  v_1716X = enter_bignum(v_1715X);
  arg0K0 = v_1716X;
  goto L51679;}
 L51679: {
  val_1717X = arg0K0;
  SvalS = val_1717X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L15790: {
  length0_1718X = arg0K0;
  extra0_1719X = arg0K1;
  if ((0 == (3 & y_644X))) {
    arg0K0 = 3;
    goto L15798;}
  else {
    arg0K0 = 0;
    goto L15798;}}
 L34725: {
  val_1720X = arg0K0;
  SvalS = val_1720X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35001: {
  val_1721X = arg0K0;
  SvalS = val_1721X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35340: {
  val_1722X = arg0K0;
  SvalS = val_1722X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35679: {
  val_1723X = arg0K0;
  SvalS = val_1723X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L35989: {
  val_1724X = arg0K0;
  SvalS = val_1724X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L19494: {
  extra1_1725X = arg0K0;
  Stemp0S = x_1177X;
  Stemp1S = y_1178X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1589X)<<2))))>>1)))) + extra0_1590X) + extra1_1725X))<<2)));
  value_1726X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1726X))) {
    v_1727X = (char *) s48_long_to_bignum((((value_1726X)>>2)));
    arg1K0 = v_1727X;
    goto L19480;}
  else {
    arg1K0 = (((char *) (-3 + value_1726X)));
    goto L19480;}}
 L9364: {
  if ((536870911 < c_1592X)) {
    arg0K0 = arg2_657X;
    arg0K1 = y_658X;
    goto L19462;}
  else {
    SvalS = (((c_1592X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}}
 L9363: {
  SvalS = ((((0 - c_1592X))<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L19585: {
  extra1_1728X = arg0K0;
  Stemp0S = x_1180X;
  Stemp1S = y_1181X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1593X)<<2))))>>1)))) + extra0_1594X) + extra1_1728X))<<2)));
  value_1729X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1729X))) {
    v_1730X = (char *) s48_long_to_bignum((((value_1729X)>>2)));
    arg1K0 = v_1730X;
    goto L19571;}
  else {
    arg1K0 = (((char *) (-3 + value_1729X)));
    goto L19571;}}
 L36481: {
  n_1731X = arg0K0;
  SvalS = (((n_1731X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L24080: {
  v_1732X = (char *) s48_long_to_bignum(x_1597X);
  v_1733X = enter_bignum(v_1732X);
  arg0K0 = v_1733X;
  goto L53340;}
 L19062: {
  x_1734X = arg1K0;
  v_1735X = s48_bignum_test(x_1734X);
  if ((-1 == v_1735X)) {
    v_1736X = (char *) s48_bignum_negate(x_1734X);
    arg1K0 = v_1736X;
    goto L19064;}
  else {
    arg1K0 = x_1734X;
    goto L19064;}}
 L19197: {
  v_1737X = arg0K0;
  Stemp0S = x_675X;s48_make_availableAgc((((((1 + ((((11 + (((v_1737X)<<2))))>>2))) + extra_1603X))<<2)));
  value_1738X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1738X))) {
    v_1739X = (char *) s48_long_to_bignum((((value_1738X)>>2)));
    arg1K0 = v_1739X;
    goto L19187;}
  else {
    arg1K0 = (((char *) (-3 + value_1738X)));
    goto L19187;}}
 L18613: {
  v_1740X = arg0K0;
  Stemp0S = x_676X;s48_make_availableAgc((((((1 + ((((11 + (((v_1740X)<<2))))>>2))) + extra_1607X))<<2)));
  value_1741X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1741X))) {
    v_1742X = (char *) s48_long_to_bignum((((value_1741X)>>2)));
    arg1K0 = v_1742X;
    goto L18603;}
  else {
    arg1K0 = (((char *) (-3 + value_1741X)));
    goto L18603;}}
 L16004: {
  length0_1743X = arg0K0;
  extra0_1744X = arg0K1;
  if ((0 == (3 & y_679X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16012;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_679X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16012;}}
 L15961: {
  length0_1745X = arg0K0;
  extra0_1746X = arg0K1;
  if ((0 == (3 & y_681X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15969;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_681X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15969;}}
 L15918: {
  length0_1747X = arg0K0;
  extra0_1748X = arg0K1;
  if ((0 == (3 & y_683X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15926;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_683X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15926;}}
 L43933: {
  x_1749X = arg1K0;
  external_bignum_1750X = (char *) s48_bignum_arithmetic_shift(x_1749X, y_1616X);
  v_1751X = s48_bignum_fits_in_word_p(external_bignum_1750X, 30, 1);
  if (v_1751X) {
    n_1752X = s48_bignum_to_long(external_bignum_1750X);
    arg0K0 = (((n_1752X)<<2));
    goto L43873;}
  else {
    v_1753X = enter_bignum(external_bignum_1750X);
    arg0K0 = v_1753X;
    goto L43873;}}
 L43879: {
  val_1754X = arg0K0;
  SvalS = val_1754X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L21368: {
  foo_1755X = arg0K0;
  if ((1 == foo_1755X)) {
    if ((3 == (3 & bucket_1634X))) {
      arg0K0 = (-4 & bucket_1634X);
      goto L21373;}
    else {
      arg0K0 = bucket_1634X;
      goto L21373;}}
  else {
    s2_1756X = *((long *) (((char *) (-3 + foo_1755X))));
    len_1757X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_783X))) + -4))))>>8);
    if ((len_1757X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1756X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1756X))), (void *)(((char *) (-3 + string_783X))),len_1757X)))) {
        arg0K0 = foo_1755X;
        goto L33964;}
      else {
        goto L21388;}}
    else {
      goto L21388;}}}
 L38488: {
  v_1758X = ps_close_fd(index_1635X);
  arg0K0 = v_1758X;
  goto L38483;}
 L38483: {
  status_1759X = arg0K0;
  if ((status_1759X == NO_ERRORS)) {
    arg0K0 = reason_1637X;
    goto L38327;}
  else {channel_close_error(status_1759X, index_1635X, arg3_793X);
    arg0K0 = reason_1637X;
    goto L38327;}}
 L38743: {
  if ((3 == (3 & arg4_809X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_809X))) + -4)))))) {
      if ((3 == (3 & arg4_809X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_809X))) + -4))))>>2))))) {
          arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_809X))) + -4))))>>8)));
          goto L38750;}
        else {
          goto L39016;}}
      else {
        goto L39016;}}
    else {
      goto L38811;}}
  else {
    goto L38811;}}
 L38990: {
  if ((3 == (3 & arg4_809X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg4_809X))) + -4))))>>2))))) {
      goto L38743;}
    else {
      goto L38811;}}
  else {
    goto L38811;}}
 L38811: {
  code_1760X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1760X)))))<<2)), code_1760X, 20, 4);
  n_1761X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1761X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_810X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_809X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1647X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1648X)<<2)));
  if (waitP_1646X) {
    arg0K0 = 5;
    goto L38827;}
  else {
    arg0K0 = 1;
    goto L38827;}}
 L39205: {
  val_1762X = arg0K0;
  SvalS = val_1762X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L39520: {
  x_1763X = Scurrent_threadS;
  addr_1764X = (((char *) (-3 + x_1763X))) + 12;S48_WRITE_BARRIER(x_1763X, addr_1764X, proposal_835X);
  *((long *) addr_1764X) = (long) (proposal_835X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L39886: {
  copies_1765X = arg0K0;
  if ((1 == copies_1765X)) {
    log_1766X = *((long *) ((((char *) (-3 + proposal_836X))) + 4));
    arg0K0 = 0;
    goto L9143;}
  else {
    thing_1767X = *((long *) ((((char *) (-3 + copies_1765X))) + 8));
    if ((3 == (3 & thing_1767X))) {
      if ((0 == (128 & (*((long *) ((((char *) (-3 + thing_1767X))) + -4)))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + copies_1765X))) + 20)));
        goto L39886;}
      else {
        goto L39770;}}
    else {
      goto L39770;}}}
 L10391: {
  arg0K0 = (4 + i_1662X);
  goto L10339;}
 L9771: {
  entry_1768X = arg0K0;
  proposal_1769X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  value_1770X = Stemp0S;
  Stemp0S = 1;
  addr_1771X = ((char *) (-3 + entry_1768X));S48_WRITE_BARRIER(entry_1768X, addr_1771X, value_1770X);
  *((long *) addr_1771X) = (long) (value_1770X);
  addr_1772X = (((char *) (-3 + entry_1768X))) + 4;S48_WRITE_BARRIER(entry_1768X, addr_1772X, from_index_1374X);
  *((long *) addr_1772X) = (long) (from_index_1374X);
  value_1773X = Stemp1S;
  Stemp1S = 1;
  addr_1774X = (((char *) (-3 + entry_1768X))) + 8;S48_WRITE_BARRIER(entry_1768X, addr_1774X, value_1773X);
  *((long *) addr_1774X) = (long) (value_1773X);
  addr_1775X = (((char *) (-3 + entry_1768X))) + 12;S48_WRITE_BARRIER(entry_1768X, addr_1775X, to_index_1375X);
  *((long *) addr_1775X) = (long) (to_index_1375X);
  addr_1776X = (((char *) (-3 + entry_1768X))) + 16;S48_WRITE_BARRIER(entry_1768X, addr_1776X, count_1376X);
  *((long *) addr_1776X) = (long) (count_1376X);
  value_1777X = *((long *) ((((char *) (-3 + proposal_1769X))) + 12));
  addr_1778X = (((char *) (-3 + entry_1768X))) + 20;S48_WRITE_BARRIER(entry_1768X, addr_1778X, value_1777X);
  *((long *) addr_1778X) = (long) (value_1777X);
  addr_1779X = (((char *) (-3 + proposal_1769X))) + 12;S48_WRITE_BARRIER(proposal_1769X, addr_1779X, entry_1768X);
  *((long *) addr_1779X) = (long) (entry_1768X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L47211: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L20875: {
  i_1780X = arg0K0;
  h_1781X = arg0K1;
  if ((i_1780X < n_1677X)) {
    arg0K0 = (1 + i_1780X);
    arg0K1 = (h_1781X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_947X))) + i_1780X))))))));
    goto L20875;}
  else {
    index_1782X = 1023 & h_1781X;
    link_1783X = *((long *) ((((char *) (-3 + table_1676X))) + (((index_1782X)<<2))));
    if ((0 == (3 & link_1783X))) {
      arg0K0 = (3 + (-4 & link_1783X));
      goto L20830;}
    else {
      arg0K0 = link_1783X;
      goto L20830;}}}
 L17179: {
  v_1784X = arg3K0;
  ps_write_string(v_1784X, out_1016X);
  goto L42085;}
 L17129: {
  if ((3 == (3 & thing_1510X))) {
    if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_1510X))))))))));
      goto L17179;}
    else {
      goto L17137;}}
  else {
    goto L17137;}}
 L23305: {
  Senabled_interruptsS = 0;
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      goto L23307;}
    else {
      goto L23307;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    goto L23307;}}
 L23344: {
  ps_error("interrupt handler is not a closure", 1, i_1054X);
  goto L23305;}
 L6877: {
  count_1785X = arg0K0;
  i_1786X = arg0K1;
  offset_1787X = arg0K2;
  if ((0 == count_1785X)) {
    arg0K0 = i_1786X;
    arg0K1 = offset_1787X;
    goto L6860;}
  else {
    value_1788X = *((long *) ((((char *) (-3 + env_1693X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1787X)))))<<2))));
    addr_1789X = (((char *) (-3 + new_env_1066X))) + (((i_1786X)<<2));S48_WRITE_BARRIER(new_env_1066X, addr_1789X, value_1788X);
    *((long *) addr_1789X) = (long) (value_1788X);
    arg0K0 = (-1 + count_1785X);
    arg0K1 = (1 + i_1786X);
    arg0K2 = (1 + offset_1787X);
    goto L6877;}}
 L7569: {
  count_1790X = arg0K0;
  i_1791X = arg0K1;
  offset_1792X = arg0K2;
  if ((0 == count_1790X)) {
    arg0K0 = i_1791X;
    arg0K1 = offset_1792X;
    goto L7552;}
  else {
    value_1793X = *((long *) ((((char *) (-3 + env_1698X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1792X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1792X))))))<<2))));
    addr_1794X = (((char *) (-3 + new_env_1075X))) + (((i_1791X)<<2));S48_WRITE_BARRIER(new_env_1075X, addr_1794X, value_1793X);
    *((long *) addr_1794X) = (long) (value_1793X);
    arg0K0 = (-1 + count_1790X);
    arg0K1 = (1 + i_1791X);
    arg0K2 = (2 + offset_1792X);
    goto L7569;}}
 L41463: {
  if ((3 == (3 & n_1127X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1127X))) + -4))))>>2))))) {
      arg0K0 = n_1127X;
      goto L24141;}
    else {
      goto L41467;}}
  else {
    goto L41467;}}
 L16273: {
  length1_1795X = arg0K0;
  extra1_1796X = arg0K1;
  if ((length0_1705X < length1_1795X)) {
    arg0K0 = length1_1795X;
    goto L16295;}
  else {
    arg0K0 = length0_1705X;
    goto L16295;}}
 L16185: {
  length0_1797X = arg0K0;
  extra0_1798X = arg0K1;
  if ((0 == (3 & y_1708X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16193;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_1708X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16193;}}
 L51571: {
  v_1799X = (char *) s48_long_to_bignum(c_1554X);
  v_1800X = enter_bignum(v_1799X);
  arg0K0 = v_1800X;
  goto L51566;}
 L51566: {
  val_1801X = arg0K0;
  SvalS = val_1801X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L8441: {
  x_1802X = 0 - c_1554X;s48_make_availableAgc(16);
  if ((536870911 < x_1802X)) {
    goto L51549;}
  else {
    if ((x_1802X < -536870912)) {
      goto L51549;}
    else {
      arg0K0 = (((x_1802X)<<2));
      goto L51544;}}}
 L51593: {
  v_1803X = (char *) s48_long_to_bignum(c_1554X);
  v_1804X = enter_bignum(v_1803X);
  arg0K0 = v_1804X;
  goto L51588;}
 L51588: {
  val_1805X = arg0K0;
  SvalS = val_1805X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L16230: {
  length1_1806X = arg0K0;
  extra1_1807X = arg0K1;
  if ((length0_1709X < length1_1806X)) {
    arg0K0 = length1_1806X;
    goto L16252;}
  else {
    arg0K0 = length0_1709X;
    goto L16252;}}
 L51640: {
  v_1808X = (char *) s48_long_to_bignum(x_1714X);
  v_1809X = enter_bignum(v_1808X);
  arg0K0 = v_1809X;
  goto L51635;}
 L51635: {
  val_1810X = arg0K0;
  SvalS = val_1810X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L15798: {
  extra1_1811X = arg0K0;
  Stemp0S = arg2_643X;
  Stemp1S = y_644X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1718X)<<2))))>>1)))) + extra0_1719X) + extra1_1811X))<<2)));
  value_1812X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1812X))) {
    v_1813X = (char *) s48_long_to_bignum((((value_1812X)>>2)));
    arg1K0 = v_1813X;
    goto L18956;}
  else {
    arg1K0 = (((char *) (-3 + value_1812X)));
    goto L18956;}}
 L19480: {
  y_1814X = arg1K0;
  value_1815X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1815X))) {
    v_1816X = (char *) s48_long_to_bignum((((value_1815X)>>2)));
    arg1K0 = v_1816X;
    goto L19476;}
  else {
    arg1K0 = (((char *) (-3 + value_1815X)));
    goto L19476;}}
 L19571: {
  y_1817X = arg1K0;
  value_1818X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1818X))) {
    v_1819X = (char *) s48_long_to_bignum((((value_1818X)>>2)));
    arg1K0 = v_1819X;
    goto L19567;}
  else {
    arg1K0 = (((char *) (-3 + value_1818X)));
    goto L19567;}}
 L19064: {
  external_bignum_1820X = arg1K0;
  v_1821X = s48_bignum_fits_in_word_p(external_bignum_1820X, 30, 1);
  if (v_1821X) {
    n_1822X = s48_bignum_to_long(external_bignum_1820X);
    arg0K0 = (((n_1822X)<<2));
    goto L53340;}
  else {
    v_1823X = enter_bignum(external_bignum_1820X);
    arg0K0 = v_1823X;
    goto L53340;}}
 L19187: {
  v_1824X = arg1K0;
  external_bignum_1825X = (char *) s48_bignum_bitwise_not(v_1824X);
  v_1826X = s48_bignum_fits_in_word_p(external_bignum_1825X, 30, 1);
  if (v_1826X) {
    n_1827X = s48_bignum_to_long(external_bignum_1825X);
    arg0K0 = (((n_1827X)<<2));
    goto L37068;}
  else {
    val_1828X = enter_bignum(external_bignum_1825X);
    arg0K0 = val_1828X;
    goto L37068;}}
 L18603: {
  v_1829X = arg1K0;
  n_1830X = s48_bignum_bit_count(v_1829X);
  SvalS = (((n_1830X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L16012: {
  length1_1831X = arg0K0;
  extra1_1832X = arg0K1;
  if ((length0_1743X < length1_1831X)) {
    arg0K0 = length1_1831X;
    goto L16034;}
  else {
    arg0K0 = length0_1743X;
    goto L16034;}}
 L15969: {
  length1_1833X = arg0K0;
  extra1_1834X = arg0K1;
  if ((length0_1745X < length1_1833X)) {
    arg0K0 = length1_1833X;
    goto L15991;}
  else {
    arg0K0 = length0_1745X;
    goto L15991;}}
 L15926: {
  length1_1835X = arg0K0;
  extra1_1836X = arg0K1;
  if ((length0_1747X < length1_1835X)) {
    arg0K0 = length1_1835X;
    goto L15948;}
  else {
    arg0K0 = length0_1747X;
    goto L15948;}}
 L43873: {
  val_1837X = arg0K0;
  SvalS = val_1837X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L21373: {
  b_1838X = arg0K0;
  addr_1839X = s48_allocate_small(12);
  *((long *) addr_1839X) = (long) (2054);
  x_1840X = 3 + (((long) (addr_1839X + 4)));
  *((long *) (((char *) (-3 + x_1840X)))) = (long) (string_783X);
  *((long *) ((((char *) (-3 + x_1840X))) + 4)) = (long) (b_1838X);
  if ((3 == (3 & x_1840X))) {
    arg0K0 = (-4 & x_1840X);
    goto L21379;}
  else {
    arg0K0 = x_1840X;
    goto L21379;}}
 L33964: {
  val_1841X = arg0K0;
  SvalS = val_1841X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L21388: {
  link_1842X = *((long *) ((((char *) (-3 + foo_1755X))) + 4));
  if ((0 == (3 & link_1842X))) {
    arg0K0 = (3 + (-4 & link_1842X));
    goto L21368;}
  else {
    arg0K0 = link_1842X;
    goto L21368;}}
 L38750: {
  y_1843X = arg0K0;
  if ((y_1843X < (start_1647X + count_1648X))) {
    goto L38811;}
  else {
    got_1844X = ps_read_fd(((((*((long *) ((((char *) (-3 + arg5_810X))) + 8))))>>2)), ((((char *) (-3 + arg4_809X))) + start_1647X), count_1648X, waitP_1646X, &eofP_1845X, &pendingP_1846X, &status_1847X);
    if ((status_1847X == NO_ERRORS)) {
      if (eofP_1845X) {
        arg0K0 = 21;
        goto L38810;}
      else {
        if (pendingP_1846X) {
          arg0K0 = 1;
          goto L38810;}
        else {
          arg0K0 = (((got_1844X)<<2));
          goto L38810;}}}
    else {
      code_1848X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1848X)))))<<2)), code_1848X, 96, 4);
      n_1849X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1849X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (96);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg5_810X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg4_809X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((start_1647X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((count_1648X)<<2)));
      if (waitP_1646X) {
        arg0K0 = 5;
        goto L38793;}
      else {
        arg0K0 = 1;
        goto L38793;}}}}
 L39016: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_809X))) + -4))))>>8));
  goto L38750;}
 L38827: {
  x_1850X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1850X);
  arg0K0 = 5;
  goto L23535;}
 L9143: {
  i_1851X = arg0K0;
  stob_1852X = *((long *) ((((char *) (-3 + log_1766X))) + (((i_1851X)<<2))));
  if ((1 == stob_1852X)) {
    log_1853X = *((long *) ((((char *) (-3 + proposal_836X))) + 8));
    arg0K0 = 0;
    goto L12339;}
  else {
    verify_1854X = *((long *) ((((char *) (-3 + log_1766X))) + (12 + (((i_1851X)<<2)))));
    value_1855X = *((long *) ((((char *) (-3 + log_1766X))) + (8 + (((i_1851X)<<2)))));
    if ((verify_1854X == value_1855X)) {
      goto L9175;}
    else {
      addr_1856X = (((char *) (-3 + stob_1852X))) + (-4 & (*((long *) ((((char *) (-3 + log_1766X))) + (4 + (((i_1851X)<<2)))))));S48_WRITE_BARRIER(stob_1852X, addr_1856X, value_1855X);
      *((long *) addr_1856X) = (long) (value_1855X);
      goto L9175;}}}
 L20830: {
  bucket_1857X = arg0K0;
  arg0K0 = 1;
  arg0K1 = bucket_1857X;
  goto L20837;}
 L17137: {
  if ((1 == thing_1510X)) {
    goto L17140;}
  else {
    if ((5 == thing_1510X)) {
      goto L17140;}
    else {
      if ((25 == thing_1510X)) {
        arg3K0 = "()";
        goto L17179;}
      else {
        if ((3 == (3 & thing_1510X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
            arg3K0 = "(...)";
            goto L17179;}
          else {
            goto L17153;}}
        else {
          goto L17153;}}}}}
 L23307: {
  arg0K0 = arg_count_1523X;
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = (-2 - i_1054X);
  goto L31977;}
 L41467: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L16295: {
  v_1858X = arg0K0;
  Stemp0S = arg2_633X;
  Stemp1S = y_634X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1858X)<<2))))>>2))) + extra0_1706X) + extra1_1796X))<<2)));
  value_1859X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1859X))) {
    v_1860X = (char *) s48_long_to_bignum((((value_1859X)>>2)));
    arg1K0 = v_1860X;
    goto L18732;}
  else {
    arg1K0 = (((char *) (-3 + value_1859X)));
    goto L18732;}}
 L16193: {
  length1_1861X = arg0K0;
  extra1_1862X = arg0K1;
  Stemp0S = x_1707X;
  Stemp1S = y_1708X;s48_make_availableAgc(((((((1 + ((((7 + ((((length0_1797X + length1_1861X))<<2))))>>2))) + extra0_1798X) + extra1_1862X))<<2)));
  value_1863X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1863X))) {
    v_1864X = (char *) s48_long_to_bignum((((value_1863X)>>2)));
    arg1K0 = v_1864X;
    goto L18880;}
  else {
    arg1K0 = (((char *) (-3 + value_1863X)));
    goto L18880;}}
 L51549: {
  v_1865X = (char *) s48_long_to_bignum(x_1802X);
  v_1866X = enter_bignum(v_1865X);
  arg0K0 = v_1866X;
  goto L51544;}
 L51544: {
  val_1867X = arg0K0;
  SvalS = val_1867X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L16252: {
  v_1868X = arg0K0;
  Stemp0S = arg2_640X;
  Stemp1S = y_641X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1868X)<<2))))>>2))) + extra0_1710X) + extra1_1807X))<<2)));
  value_1869X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1869X))) {
    v_1870X = (char *) s48_long_to_bignum((((value_1869X)>>2)));
    arg1K0 = v_1870X;
    goto L18806;}
  else {
    arg1K0 = (((char *) (-3 + value_1869X)));
    goto L18806;}}
 L18956: {
  y_1871X = arg1K0;
  value_1872X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1872X))) {
    v_1873X = (char *) s48_long_to_bignum((((value_1872X)>>2)));
    arg1K0 = v_1873X;
    goto L18952;}
  else {
    arg1K0 = (((char *) (-3 + value_1872X)));
    goto L18952;}}
 L19476: {
  x_1874X = arg1K0;
  external_bignum_1875X = (char *)s48_bignum_quotient(x_1874X, y_1814X);
  v_1876X = s48_bignum_fits_in_word_p(external_bignum_1875X, 30, 1);
  if (v_1876X) {
    n_1877X = s48_bignum_to_long(external_bignum_1875X);
    arg0K0 = (((n_1877X)<<2));
    goto L53354;}
  else {
    val_1878X = enter_bignum(external_bignum_1875X);
    arg0K0 = val_1878X;
    goto L53354;}}
 L19567: {
  x_1879X = arg1K0;
  external_bignum_1880X = (char *)s48_bignum_remainder(x_1879X, y_1817X);
  v_1881X = s48_bignum_fits_in_word_p(external_bignum_1880X, 30, 1);
  if (v_1881X) {
    n_1882X = s48_bignum_to_long(external_bignum_1880X);
    arg0K0 = (((n_1882X)<<2));
    goto L53354;}
  else {
    val_1883X = enter_bignum(external_bignum_1880X);
    arg0K0 = val_1883X;
    goto L53354;}}
 L37068: {
  val_1884X = arg0K0;
  SvalS = val_1884X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L16034: {
  v_1885X = arg0K0;
  Stemp0S = arg2_678X;
  Stemp1S = y_679X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1885X)<<2))))>>2))) + extra0_1744X) + extra1_1832X))<<2)));
  value_1886X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1886X))) {
    v_1887X = (char *) s48_long_to_bignum((((value_1886X)>>2)));
    arg1K0 = v_1887X;
    goto L19258;}
  else {
    arg1K0 = (((char *) (-3 + value_1886X)));
    goto L19258;}}
 L15991: {
  v_1888X = arg0K0;
  Stemp0S = arg2_680X;
  Stemp1S = y_681X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1888X)<<2))))>>2))) + extra0_1746X) + extra1_1834X))<<2)));
  value_1889X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1889X))) {
    v_1890X = (char *) s48_long_to_bignum((((value_1889X)>>2)));
    arg1K0 = v_1890X;
    goto L19332;}
  else {
    arg1K0 = (((char *) (-3 + value_1889X)));
    goto L19332;}}
 L15948: {
  v_1891X = arg0K0;
  Stemp0S = arg2_682X;
  Stemp1S = y_683X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1891X)<<2))))>>2))) + extra0_1748X) + extra1_1836X))<<2)));
  value_1892X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1892X))) {
    v_1893X = (char *) s48_long_to_bignum((((value_1892X)>>2)));
    arg1K0 = v_1893X;
    goto L19406;}
  else {
    arg1K0 = (((char *) (-3 + value_1892X)));
    goto L19406;}}
 L21379: {
  value_1894X = arg0K0;
  addr_1895X = (((char *) (-3 + table_782X))) + (((index_1309X)<<2));S48_WRITE_BARRIER(table_782X, addr_1895X, value_1894X);
  *((long *) addr_1895X) = (long) (value_1894X);
  arg0K0 = x_1840X;
  goto L33964;}
 L38810: {
  val_1896X = arg0K0;
  SvalS = val_1896X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L38793: {
  x_1897X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1897X);
  merged_arg0K0 = status_1847X;
  merged_arg0K1 = 0;
  get_error_string_return_tag = 5;
  goto get_error_string;
 get_error_string_return_5:
  x_1898X = get_error_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1898X);
  arg0K0 = 6;
  goto L23535;}
 L12339: {
  i_1899X = arg0K0;
  stob_1900X = *((long *) ((((char *) (-3 + log_1853X))) + (((i_1899X)<<2))));
  if ((1 == stob_1900X)) {
    copies_1901X = *((long *) ((((char *) (-3 + proposal_836X))) + 12));
    arg0K0 = copies_1901X;
    goto L12254;}
  else {
    verify_1902X = *((long *) ((((char *) (-3 + log_1853X))) + (12 + (((i_1899X)<<2)))));
    value_1903X = *((long *) ((((char *) (-3 + log_1853X))) + (8 + (((i_1899X)<<2)))));
    if ((verify_1902X == value_1903X)) {
      goto L12371;}
    else {
      *((unsigned char *) ((((char *) (-3 + stob_1900X))) + ((((*((long *) ((((char *) (-3 + log_1853X))) + (4 + (((i_1899X)<<2)))))))>>2)))) = (unsigned char) ((((value_1903X)>>2)));
      goto L12371;}}}
 L9175: {
  arg0K0 = (4 + i_1851X);
  goto L9143;}
 L20837: {
  previous_foo_1904X = arg0K0;
  foo_1905X = arg0K1;
  if ((1 == foo_1905X)) {
    goto L31795;}
  else {
    s2_1906X = *((long *) (((char *) (-3 + foo_1905X))));
    len_1907X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_947X))) + -4))))>>8);
    if ((len_1907X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1906X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1906X))), (void *)(((char *) (-3 + arg2_947X))),len_1907X)))) {
        if ((1 == previous_foo_1904X)) {
          value_1908X = *((long *) ((((char *) (-3 + foo_1905X))) + 12));
          addr_1909X = (((char *) (-3 + table_1676X))) + (((index_1782X)<<2));S48_WRITE_BARRIER(table_1676X, addr_1909X, value_1908X);
          *((long *) addr_1909X) = (long) (value_1908X);
          goto L31795;}
        else {
          val_1910X = *((long *) ((((char *) (-3 + foo_1905X))) + 12));
          addr_1911X = (((char *) (-3 + previous_foo_1904X))) + 12;S48_WRITE_BARRIER(previous_foo_1904X, addr_1911X, val_1910X);
          *((long *) addr_1911X) = (long) (val_1910X);
          goto L31795;}}
      else {
        goto L20905;}}
    else {
      goto L20905;}}}
 L17140: {
  if ((1 == thing_1510X)) {
    arg3K0 = "#f";
    goto L17179;}
  else {
    arg3K0 = "#t";
    goto L17179;}}
 L17153: {
  if ((3 == (3 & thing_1510X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#(...)";
      goto L17179;}
    else {
      goto L17157;}}
  else {
    goto L17157;}}
 L18732: {
  y_1912X = arg1K0;
  value_1913X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1913X))) {
    v_1914X = (char *) s48_long_to_bignum((((value_1913X)>>2)));
    arg1K0 = v_1914X;
    goto L18728;}
  else {
    arg1K0 = (((char *) (-3 + value_1913X)));
    goto L18728;}}
 L18880: {
  y_1915X = arg1K0;
  value_1916X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1916X))) {
    v_1917X = (char *) s48_long_to_bignum((((value_1916X)>>2)));
    arg1K0 = v_1917X;
    goto L18876;}
  else {
    arg1K0 = (((char *) (-3 + value_1916X)));
    goto L18876;}}
 L18806: {
  y_1918X = arg1K0;
  value_1919X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1919X))) {
    v_1920X = (char *) s48_long_to_bignum((((value_1919X)>>2)));
    arg1K0 = v_1920X;
    goto L18802;}
  else {
    arg1K0 = (((char *) (-3 + value_1919X)));
    goto L18802;}}
 L18952: {
  x_1921X = arg1K0;
  div_by_zeroP_1922X = s48_bignum_divide(x_1921X, y_1871X, &quot_1923X, &rem_1924X);
  if (div_by_zeroP_1922X) {
    arg2K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L43587;}
  else {
    v_1925X = s48_bignum_fits_in_word_p(rem_1924X, 30, 1);
    if (v_1925X) {
      n_1926X = s48_bignum_to_long(rem_1924X);
      arg0K0 = (((n_1926X)<<2));
      goto L18979;}
    else {
      v_1927X = enter_bignum(rem_1924X);
      arg0K0 = v_1927X;
      goto L18979;}}}
 L53354: {
  val_1928X = arg0K0;
  SvalS = val_1928X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L19258: {
  y_1929X = arg1K0;
  value_1930X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1930X))) {
    v_1931X = (char *) s48_long_to_bignum((((value_1930X)>>2)));
    arg1K0 = v_1931X;
    goto L19254;}
  else {
    arg1K0 = (((char *) (-3 + value_1930X)));
    goto L19254;}}
 L19332: {
  y_1932X = arg1K0;
  value_1933X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1933X))) {
    v_1934X = (char *) s48_long_to_bignum((((value_1933X)>>2)));
    arg1K0 = v_1934X;
    goto L19328;}
  else {
    arg1K0 = (((char *) (-3 + value_1933X)));
    goto L19328;}}
 L19406: {
  y_1935X = arg1K0;
  value_1936X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1936X))) {
    v_1937X = (char *) s48_long_to_bignum((((value_1936X)>>2)));
    arg1K0 = v_1937X;
    goto L19402;}
  else {
    arg1K0 = (((char *) (-3 + value_1936X)));
    goto L19402;}}
 L12254: {
  copies_1938X = arg0K0;
  if ((1 == copies_1938X)) {
    value_1939X = Sempty_logS;
    addr_1940X = (((char *) (-3 + proposal_836X))) + 4;S48_WRITE_BARRIER(proposal_836X, addr_1940X, value_1939X);
    *((long *) addr_1940X) = (long) (value_1939X);
    value_1941X = Sempty_logS;
    addr_1942X = (((char *) (-3 + proposal_836X))) + 8;S48_WRITE_BARRIER(proposal_836X, addr_1942X, value_1941X);
    *((long *) addr_1942X) = (long) (value_1941X);
    addr_1943X = (((char *) (-3 + proposal_836X))) + 12;S48_WRITE_BARRIER(proposal_836X, addr_1943X, 1);
    *((long *) addr_1943X) = (long) (1);RELEASE_PROPOSAL_LOCK();
    x_1944X = Scurrent_threadS;
    addr_1945X = (((char *) (-3 + x_1944X))) + 12;S48_WRITE_BARRIER(x_1944X, addr_1945X, 1);
    *((long *) addr_1945X) = (long) (1);
    SvalS = 5;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L24827;}
  else {
    stob_1946X = *((long *) (((char *) (-3 + copies_1938X))));
    v_1947X = (((*((long *) ((((char *) (-3 + copies_1938X))) + 4))))>>2);
    stob_1948X = *((long *) ((((char *) (-3 + copies_1938X))) + 8));
    v_1949X = (((*((long *) ((((char *) (-3 + copies_1938X))) + 12))))>>2);
    v_1950X = (((*((long *) ((((char *) (-3 + copies_1938X))) + 16))))>>2);
    memcpy((void *)((((char *) (-3 + stob_1948X))) + v_1949X), (void *)((((char *) (-3 + stob_1946X))) + v_1947X),v_1950X);
    arg0K0 = (*((long *) ((((char *) (-3 + copies_1938X))) + 20)));
    goto L12254;}}
 L12371: {
  arg0K0 = (4 + i_1899X);
  goto L12339;}
 L31795: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L20905: {
  link_1951X = *((long *) ((((char *) (-3 + foo_1905X))) + 12));
  if ((0 == (3 & link_1951X))) {
    arg0K0 = foo_1905X;
    arg0K1 = (3 + (-4 & link_1951X));
    goto L20837;}
  else {
    arg0K0 = foo_1905X;
    arg0K1 = link_1951X;
    goto L20837;}}
 L17157: {
  if ((3 == (3 & thing_1510X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#{procedure}";
      goto L17179;}
    else {
      goto L17161;}}
  else {
    goto L17161;}}
 L18728: {
  x_1952X = arg1K0;
  external_bignum_1953X = (char *)s48_bignum_add(x_1952X, y_1912X);
  v_1954X = s48_bignum_fits_in_word_p(external_bignum_1953X, 30, 1);
  if (v_1954X) {
    n_1955X = s48_bignum_to_long(external_bignum_1953X);
    arg0K0 = (((n_1955X)<<2));
    goto L34117;}
  else {
    val_1956X = enter_bignum(external_bignum_1953X);
    arg0K0 = val_1956X;
    goto L34117;}}
 L18876: {
  x_1957X = arg1K0;
  external_bignum_1958X = (char *)s48_bignum_multiply(x_1957X, y_1915X);
  v_1959X = s48_bignum_fits_in_word_p(external_bignum_1958X, 30, 1);
  if (v_1959X) {
    n_1960X = s48_bignum_to_long(external_bignum_1958X);
    arg0K0 = (((n_1960X)<<2));
    goto L53354;}
  else {
    val_1961X = enter_bignum(external_bignum_1958X);
    arg0K0 = val_1961X;
    goto L53354;}}
 L18802: {
  x_1962X = arg1K0;
  external_bignum_1963X = (char *)s48_bignum_subtract(x_1962X, y_1918X);
  v_1964X = s48_bignum_fits_in_word_p(external_bignum_1963X, 30, 1);
  if (v_1964X) {
    n_1965X = s48_bignum_to_long(external_bignum_1963X);
    arg0K0 = (((n_1965X)<<2));
    goto L34422;}
  else {
    val_1966X = enter_bignum(external_bignum_1963X);
    arg0K0 = val_1966X;
    goto L34422;}}
 L43587: {
  div_by_zeroP_1967X = arg2K0;
  quot_1968X = arg0K1;
  rem_1969X = arg0K2;
  if (div_by_zeroP_1967X) {
    arg0K0 = arg2_643X;
    arg0K1 = y_644X;
    goto L24172;}
  else {
    if ((0 == (3 & rem_1969X))) {
      if ((0 == rem_1969X)) {
        SvalS = quot_1968X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L24827;}
      else {
        arg0K0 = arg2_643X;
        arg0K1 = y_644X;
        goto L24172;}}
    else {
      arg0K0 = arg2_643X;
      arg0K1 = y_644X;
      goto L24172;}}}
 L18979: {
  v_1970X = arg0K0;
  v_1971X = s48_bignum_fits_in_word_p(quot_1923X, 30, 1);
  if (v_1971X) {
    n_1972X = s48_bignum_to_long(quot_1923X);
    arg2K0 = 0;
    arg0K1 = (((n_1972X)<<2));
    arg0K2 = v_1970X;
    goto L43587;}
  else {
    v_1973X = enter_bignum(quot_1923X);
    arg2K0 = 0;
    arg0K1 = v_1973X;
    arg0K2 = v_1970X;
    goto L43587;}}
 L19254: {
  x_1974X = arg1K0;
  external_bignum_1975X = (char *) s48_bignum_bitwise_and(x_1974X, y_1929X);
  v_1976X = s48_bignum_fits_in_word_p(external_bignum_1975X, 30, 1);
  if (v_1976X) {
    n_1977X = s48_bignum_to_long(external_bignum_1975X);
    arg0K0 = (((n_1977X)<<2));
    goto L37282;}
  else {
    val_1978X = enter_bignum(external_bignum_1975X);
    arg0K0 = val_1978X;
    goto L37282;}}
 L19328: {
  x_1979X = arg1K0;
  external_bignum_1980X = (char *) s48_bignum_bitwise_ior(x_1979X, y_1932X);
  v_1981X = s48_bignum_fits_in_word_p(external_bignum_1980X, 30, 1);
  if (v_1981X) {
    n_1982X = s48_bignum_to_long(external_bignum_1980X);
    arg0K0 = (((n_1982X)<<2));
    goto L37461;}
  else {
    val_1983X = enter_bignum(external_bignum_1980X);
    arg0K0 = val_1983X;
    goto L37461;}}
 L19402: {
  x_1984X = arg1K0;
  external_bignum_1985X = (char *) s48_bignum_bitwise_xor(x_1984X, y_1935X);
  v_1986X = s48_bignum_fits_in_word_p(external_bignum_1985X, 30, 1);
  if (v_1986X) {
    n_1987X = s48_bignum_to_long(external_bignum_1985X);
    arg0K0 = (((n_1987X)<<2));
    goto L37640;}
  else {
    val_1988X = enter_bignum(external_bignum_1985X);
    arg0K0 = val_1988X;
    goto L37640;}}
 L17161: {
  if ((3 == (3 & thing_1510X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#{template}";
      goto L17179;}
    else {
      goto L17165;}}
  else {
    goto L17165;}}
 L34117: {
  val_1989X = arg0K0;
  SvalS = val_1989X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L34422: {
  val_1990X = arg0K0;
  SvalS = val_1990X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L37282: {
  val_1991X = arg0K0;
  SvalS = val_1991X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L37461: {
  val_1992X = arg0K0;
  SvalS = val_1992X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L37640: {
  val_1993X = arg0K0;
  SvalS = val_1993X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L24827;}
 L17165: {
  if ((3 == (3 & thing_1510X))) {
    if ((4 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#{location}";
      goto L17179;}
    else {
      goto L17169;}}
  else {
    goto L17169;}}
 L17169: {
  if ((3 == (3 & thing_1510X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#{code-vector}";
      goto L17179;}
    else {
      goto L17173;}}
  else {
    goto L17173;}}
 L17173: {
  if ((3 == (3 & thing_1510X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + thing_1510X))) + -4))))>>2))))) {
      arg3K0 = "#{continuation}";
      goto L17179;}
    else {
      arg3K0 = "???";
      goto L17179;}}
  else {
    arg3K0 = "???";
    goto L17179;}}
 loseD0: {
  message_445X = merged_arg3K0;{
  ps_write_string("Template UIDs: ", (stderr));
  current_code_1994X = current_code_vector();
  out_1995X = stderr;
  merged_arg1K0 = (SstackS);
  merged_arg0K1 = (((((ScontS) - (SstackS)))>>2));
  merged_arg0K2 = current_code_1994X;
  find_template_return_tag = 0;
  goto find_template;
 find_template_return_0:
  template_1996X = find_template0_return_value;
  merged_arg0K0 = template_1996X;
  merged_arg2K1 = 0;
  merged_arg4K2 = out_1995X;
  maybe_write_template_return_tag = 0;
  goto maybe_write_template;
 maybe_write_template_return_0:
  not_firstP_1997X = maybe_write_template0_return_value;
  arg1K0 = (ScontS);
  arg2K1 = not_firstP_1997X;
  goto L20771;}
 L20771: {
  cont_1998X = arg1K0;
  not_firstP_1999X = arg2K1;
  if ((cont_1998X == (Sbottom_of_stackS))) {
    cont_2000X = Sheap_continuationS;
    arg0K0 = cont_2000X;
    arg2K1 = not_firstP_1999X;
    goto L19783;}
  else {
    code_pointer_2001X = ((char *) (*((long *) cont_1998X)));
    pointer_2002X = code_pointer_2001X + -5;
    v_2003X = 3 + (((long) (code_pointer_2001X + (0 - (((((*((unsigned char *) pointer_2002X)))<<8)) + (*((unsigned char *) (pointer_2002X + 1))))))));
    pointer_2004X = (((char *) (*((long *) cont_1998X)))) + -2;
    size_2005X = ((((*((unsigned char *) pointer_2004X)))<<8)) + (*((unsigned char *) (pointer_2004X + 1)));
    if ((65535 == size_2005X)) {
      arg0K0 = ((((*((long *) (cont_1998X + 4))))>>2));
      goto L16530;}
    else {
      arg0K0 = size_2005X;
      goto L16530;}}}
 L19783: {
  cont_2006X = arg0K0;
  not_firstP_2007X = arg2K1;
  if ((3 == (3 & cont_2006X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_2006X))) + -4))))>>2))))) {
      merged_arg1K0 = (((char *) (-3 + cont_2006X)));
      merged_arg0K1 = ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_2006X))) + -4))))>>8))))>>2));
      merged_arg0K2 = (*((long *) ((((char *) (-3 + cont_2006X))) + 4)));
      find_template_return_tag = 1;
      goto find_template;
     find_template_return_1:
      v_2008X = find_template0_return_value;
      merged_arg0K0 = v_2008X;
      merged_arg2K1 = not_firstP_2007X;
      merged_arg4K2 = out_1995X;
      maybe_write_template_return_tag = 1;
      goto maybe_write_template;
     maybe_write_template_return_1:
      v_2009X = maybe_write_template0_return_value;
      arg0K0 = (*((long *) ((((char *) (-3 + cont_2006X))) + 8)));
      arg2K1 = v_2009X;
      goto L19783;}
    else {
      goto L23633;}}
  else {
    goto L23633;}}
 L16530: {
  v_2010X = arg0K0;
  merged_arg1K0 = (cont_1998X + 4);
  merged_arg0K1 = v_2010X;
  merged_arg0K2 = v_2003X;
  find_template_return_tag = 2;
  goto find_template;
 find_template_return_2:
  v_2011X = find_template0_return_value;
  merged_arg0K0 = v_2011X;
  merged_arg2K1 = not_firstP_1999X;
  merged_arg4K2 = out_1995X;
  maybe_write_template_return_tag = 2;
  goto maybe_write_template;
 maybe_write_template_return_2:
  v_2012X = maybe_write_template0_return_value;
  pointer_2013X = (((char *) (*((long *) cont_1998X)))) + -2;
  size_2014X = ((((*((unsigned char *) pointer_2013X)))<<8)) + (*((unsigned char *) (pointer_2013X + 1)));
  if ((65535 == size_2014X)) {
    arg0K0 = ((((*((long *) (cont_1998X + 4))))>>2));
    goto L20789;}
  else {
    arg0K0 = size_2014X;
    goto L20789;}}
 L23633: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  why_2015X = (((*((long *) ((SstackS) + (((nargs_489X)<<2))))))>>2);
  if ((why_2015X == 1)) {
    if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_489X)<<2)))))))))))))) {
      ps_error(message_445X, 3, opcode_490X, why_2015X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_489X)<<2))))))))))))>>2)));
      goto loseD0_return;}
    else {
      goto L23580;}}
  else {
    goto L23580;}}
 L20789: {
  v_2016X = arg0K0;
  arg1K0 = (cont_1998X + (4 + (((v_2016X)<<2))));
  arg2K1 = v_2012X;
  goto L20771;}
 L23580: {
  ps_error(message_445X, 2, opcode_490X, why_2015X);
  goto loseD0_return;}
 loseD0_return:
  switch (loseD0_return_tag) {
  case 0: goto loseD0_return_0;
  default: goto loseD0_return_1;
  }}

 maybe_write_template: {
  template_442X = merged_arg0K0;
  not_firstP_443X = merged_arg2K1;
  out_444X = merged_arg4K2;{
  if (not_firstP_443X) {
    ps_write_string(" <- ", out_444X);
    goto L16769;}
  else {
    goto L16769;}}
 L16769: {
  if ((3 == (3 & template_442X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + template_442X))) + -4))))>>2))))) {
      name_2017X = *((long *) ((((char *) (-3 + template_442X))) + 8));
      if ((0 == (3 & name_2017X))) {
        ps_write_integer((((name_2017X)>>2)), out_444X);
        maybe_write_template0_return_value = 1;
        goto maybe_write_template_return;}
      else {
        if ((3 == (3 & name_2017X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2017X))) + -4))))>>2))))) {
            obj_2018X = *((long *) ((((char *) (-3 + name_2017X))) + 8));
            if ((3 == (3 & obj_2018X))) {
              if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_2018X))) + -4))))>>2))))) {
                ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + name_2017X))) + 8)))))))), out_444X);
                maybe_write_template0_return_value = 1;
                goto maybe_write_template_return;}
              else {
                goto L16804;}}
            else {
              goto L16804;}}
          else {
            goto L16804;}}
        else {
          goto L16804;}}}
    else {
      goto L16827;}}
  else {
    goto L16827;}}
 L16804: {
  if ((3 == (3 & name_2017X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2017X))) + -4))))>>2))))) {
      obj_2019X = *((long *) ((((char *) (-3 + name_2017X))) + 8));
      if ((3 == (3 & obj_2019X))) {
        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_2019X))) + -4))))>>2))))) {
          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + name_2017X))) + 8))))))))))))), out_444X);
          maybe_write_template0_return_value = 1;
          goto maybe_write_template_return;}
        else {
          goto L16824;}}
      else {
        goto L16824;}}
    else {
      goto L16824;}}
  else {
    goto L16824;}}
 L16827: {
  ps_write_string(" ?? ", out_444X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 L16824: {
  ps_write_string("?", out_444X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 maybe_write_template_return:
  switch (maybe_write_template_return_tag) {
  case 0: goto maybe_write_template_return_0;
  case 1: goto maybe_write_template_return_1;
  default: goto maybe_write_template_return_2;
  }}

 find_template: {
  start_439X = merged_arg1K0;
  count_440X = merged_arg0K1;
  code_vector_441X = merged_arg0K2;{
  arg0K0 = 0;
  goto L14108;}
 L14108: {
  i_2020X = arg0K0;
  if ((i_2020X == count_440X)) {
    find_template0_return_value = 1;
    goto find_template_return;}
  else {
    next_2021X = *((long *) (start_439X + (((i_2020X)<<2))));
    if ((3 == (3 & next_2021X))) {
      if ((12 == (31 & ((((*((long *) ((((char *) (-3 + next_2021X))) + -4))))>>2))))) {
        if (((*((long *) (((char *) (-3 + next_2021X))))) == code_vector_441X)) {
          find_template0_return_value = next_2021X;
          goto find_template_return;}
        else {
          goto L14130;}}
      else {
        goto L14130;}}
    else {
      goto L14130;}}}
 L14130: {
  arg0K0 = (1 + i_2020X);
  goto L14108;}
 find_template_return:
  switch (find_template_return_tag) {
  case 0: goto find_template_return_0;
  case 1: goto find_template_return_1;
  default: goto find_template_return_2;
  }}

 rest_list_setupAgc: {
  wants_stack_args_435X = merged_arg0K0;
  stack_arg_count_436X = merged_arg0K1;
  list_args_437X = merged_arg0K2;
  list_arg_count_438X = merged_arg0K3;{
  if ((stack_arg_count_436X == wants_stack_args_435X)) {
    merged_arg0K0 = list_args_437X;
    merged_arg0K1 = list_arg_count_438X;
    copy_listSAgc_return_tag = 1;
    goto copy_listSAgc;
   copy_listSAgc_return_1:
    x_2022X = copy_listSAgc0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2022X);
    goto rest_list_setupAgc_return;}
  else {
    if ((stack_arg_count_436X < wants_stack_args_435X)) {
      count_2023X = wants_stack_args_435X - stack_arg_count_436X;
      merged_arg0K0 = list_args_437X;
      merged_arg0K1 = count_2023X;
      push_list_return_tag = 4;
      goto push_list;
     push_list_return_4:
      v_2024X = push_list0_return_value;
      merged_arg0K0 = v_2024X;
      merged_arg0K1 = (list_arg_count_438X - count_2023X);
      copy_listSAgc_return_tag = 2;
      goto copy_listSAgc;
     copy_listSAgc_return_2:
      x_2025X = copy_listSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2025X);
      goto rest_list_setupAgc_return;}
    else {
      merged_arg0K0 = list_args_437X;
      merged_arg0K1 = list_arg_count_438X;
      copy_listSAgc_return_tag = 3;
      goto copy_listSAgc;
     copy_listSAgc_return_3:
      v_2026X = copy_listSAgc0_return_value;
      merged_arg0K0 = v_2026X;
      merged_arg0K1 = (stack_arg_count_436X - wants_stack_args_435X);
      pop_args_GlistSAgc_return_tag = 5;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_5:
      x_2027X = pop_args_GlistSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2027X);
      goto rest_list_setupAgc_return;}}}
 rest_list_setupAgc_return:
  switch (rest_list_setupAgc_return_tag) {
  case 0: goto rest_list_setupAgc_return_0;
  default: goto rest_list_setupAgc_return_1;
  }}

 push_list: {
  list_433X = merged_arg0K0;
  count_434X = merged_arg0K1;{
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_433X);
  merged_arg0K0 = count_434X;
  ensure_stack_spaceB_return_tag = 1;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_1:
  list_2028X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  arg0K0 = count_434X;
  arg0K1 = list_2028X;
  goto L22244;}
 L22244: {
  i_2029X = arg0K0;
  l_2030X = arg0K1;
  if ((0 < i_2029X)) {
    x_2031X = *((long *) (((char *) (-3 + l_2030X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2031X);
    arg0K0 = (-1 + i_2029X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_2030X))) + 4)));
    goto L22244;}
  else {
    push_list0_return_value = l_2030X;
    goto push_list_return;}}
 push_list_return:
  switch (push_list_return_tag) {
  case 0: goto push_list_return_0;
  case 1: goto push_list_return_1;
  case 2: goto push_list_return_2;
  case 3: goto push_list_return_3;
  default: goto push_list_return_4;
  }}

 ensure_stack_spaceB: {
  need_432X = merged_arg0K0;{
  if ((((SstackS) + (256 - (((need_432X)<<2)))) < (s48_Sstack_limitS))) {
    interruptP_2032X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((((SstackS) + (256 - (((need_432X)<<2)))) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if ((((SstackS) + (256 - (((need_432X)<<2)))) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        ensure_stack_spaceB0_return_value = interruptP_2032X;
        goto ensure_stack_spaceB_return;}
      else {
        ensure_stack_spaceB0_return_value = interruptP_2032X;
        goto ensure_stack_spaceB_return;}}
    else {
      ensure_stack_spaceB0_return_value = interruptP_2032X;
      goto ensure_stack_spaceB_return;}}
  else {
    ensure_stack_spaceB0_return_value = 0;
    goto ensure_stack_spaceB_return;}}
 ensure_stack_spaceB_return:
  switch (ensure_stack_spaceB_return_tag) {
  case 0: goto ensure_stack_spaceB_return_0;
  default: goto ensure_stack_spaceB_return_1;
  }}

 pop_args_GlistSAgc: {
  start_430X = merged_arg0K0;
  count_431X = merged_arg0K1;{
  Stemp0S = start_430X;s48_make_availableAgc(((((3 * count_431X))<<2)));
  value_2033X = Stemp0S;
  Stemp0S = 1;
  arg0K0 = value_2033X;
  arg0K1 = count_431X;
  goto L18047;}
 L18047: {
  args_2034X = arg0K0;
  count_2035X = arg0K1;
  if ((0 == count_2035X)) {
    pop_args_GlistSAgc0_return_value = args_2034X;
    goto pop_args_GlistSAgc_return;}
  else {
    a_2036X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    addr_2037X = s48_allocate_small(12);
    *((long *) addr_2037X) = (long) (2050);
    x_2038X = 3 + (((long) (addr_2037X + 4)));
    *((long *) (((char *) (-3 + x_2038X)))) = (long) (a_2036X);
    *((long *) ((((char *) (-3 + x_2038X))) + 4)) = (long) (args_2034X);
    arg0K0 = x_2038X;
    arg0K1 = (-1 + count_2035X);
    goto L18047;}}
 pop_args_GlistSAgc_return:
  switch (pop_args_GlistSAgc_return_tag) {
  case 0: goto pop_args_GlistSAgc_return_0;
  case 1: goto pop_args_GlistSAgc_return_1;
  case 2: goto pop_args_GlistSAgc_return_2;
  case 3: goto pop_args_GlistSAgc_return_3;
  case 4: goto pop_args_GlistSAgc_return_4;
  default: goto pop_args_GlistSAgc_return_5;
  }}

 copy_listSAgc: {
  list_428X = merged_arg0K0;
  length_429X = merged_arg0K1;{
  if ((0 == length_429X)) {
    copy_listSAgc0_return_value = 25;
    goto copy_listSAgc_return;}
  else {
    Stemp0S = list_428X;s48_make_availableAgc(((((3 * length_429X))<<2)));
    value_2039X = Stemp0S;
    Stemp0S = 1;
    a_2040X = *((long *) (((char *) (-3 + value_2039X))));
    addr_2041X = s48_allocate_small(12);
    *((long *) addr_2041X) = (long) (2050);
    x_2042X = 3 + (((long) (addr_2041X + 4)));
    *((long *) (((char *) (-3 + x_2042X)))) = (long) (a_2040X);
    *((long *) ((((char *) (-3 + x_2042X))) + 4)) = (long) (25);
    arg0K0 = (*((long *) ((((char *) (-3 + value_2039X))) + 4)));
    arg0K1 = x_2042X;
    goto L17935;}}
 L17935: {
  l_2043X = arg0K0;
  last_2044X = arg0K1;
  if ((25 == l_2043X)) {
    copy_listSAgc0_return_value = x_2042X;
    goto copy_listSAgc_return;}
  else {
    a_2045X = *((long *) (((char *) (-3 + l_2043X))));
    addr_2046X = s48_allocate_small(12);
    *((long *) addr_2046X) = (long) (2050);
    x_2047X = 3 + (((long) (addr_2046X + 4)));
    *((long *) (((char *) (-3 + x_2047X)))) = (long) (a_2045X);
    *((long *) ((((char *) (-3 + x_2047X))) + 4)) = (long) (25);
    addr_2048X = (((char *) (-3 + last_2044X))) + 4;S48_WRITE_BARRIER(last_2044X, addr_2048X, x_2047X);
    *((long *) addr_2048X) = (long) (x_2047X);
    arg0K0 = (*((long *) ((((char *) (-3 + l_2043X))) + 4)));
    arg0K1 = x_2047X;
    goto L17935;}}
 copy_listSAgc_return:
  switch (copy_listSAgc_return_tag) {
  case 0: goto copy_listSAgc_return_0;
  case 1: goto copy_listSAgc_return_1;
  case 2: goto copy_listSAgc_return_2;
  default: goto copy_listSAgc_return_3;
  }}

 pop_continuationB: {
{ SstackS = (ScontS);
  cont_2049X = ScontS;
  pointer_2050X = (((char *) (*((long *) cont_2049X)))) + -2;
  size_2051X = ((((*((unsigned char *) pointer_2050X)))<<8)) + (*((unsigned char *) (pointer_2050X + 1)));
  if ((65535 == size_2051X)) {
    arg0K0 = ((((*((long *) (cont_2049X + 4))))>>2));
    goto L17779;}
  else {
    arg0K0 = size_2051X;
    goto L17779;}}
 L17779: {
  v_2052X = arg0K0;
  ScontS = (cont_2049X + (4 + (((v_2052X)<<2))));
  v_2053X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  Scode_pointerS = (((char *) v_2053X));
  Slast_code_pointer_resumedS = (Scode_pointerS);
  goto pop_continuationB_return;}
 pop_continuationB_return:
  switch (pop_continuationB_return_tag) {
  case 0: goto pop_continuationB_return_0;
  case 1: goto pop_continuationB_return_1;
  case 2: goto pop_continuationB_return_2;
  case 3: goto pop_continuationB_return_3;
  case 4: goto pop_continuationB_return_4;
  case 5: goto pop_continuationB_return_5;
  default: goto pop_continuationB_return_6;
  }}

 okay_copy_argsP: {
  thing_425X = merged_arg0K0;
  index_426X = merged_arg0K1;
  count_427X = merged_arg0K2;{
  if ((index_426X < 0)) {
    okay_copy_argsP0_return_value = 0;
    goto okay_copy_argsP_return;}
  else {
    if ((3 == (3 & thing_425X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_425X))) + -4))))>>2))))) {
        if (((-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_425X))) + -4))))>>8))) < (index_426X + count_427X))) {
          okay_copy_argsP0_return_value = 0;
          goto okay_copy_argsP_return;}
        else {
          okay_copy_argsP0_return_value = 1;
          goto okay_copy_argsP_return;}}
      else {
        goto L17468;}}
    else {
      goto L17468;}}}
 L17468: {
  if ((3 == (3 & thing_425X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_425X))) + -4))))>>2))))) {
      if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_425X))) + -4))))>>8)) < (index_426X + count_427X))) {
        okay_copy_argsP0_return_value = 0;
        goto okay_copy_argsP_return;}
      else {
        okay_copy_argsP0_return_value = 1;
        goto okay_copy_argsP_return;}}
    else {
      okay_copy_argsP0_return_value = 0;
      goto okay_copy_argsP_return;}}
  else {
    okay_copy_argsP0_return_value = 0;
    goto okay_copy_argsP_return;}}
 okay_copy_argsP_return:
  switch (okay_copy_argsP_return_tag) {
  case 0: goto okay_copy_argsP_return_0;
  default: goto okay_copy_argsP_return_1;
  }}

 shift_space: {
  x_423X = merged_arg0K0;
  n_424X = merged_arg0K1;{
  if ((0 == (3 & x_423X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L15823;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_423X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L15823;}}
 L15823: {
  x_size_2054X = arg0K0;
  extra_2055X = arg0K1;
  if ((n_424X < 0)) {
    if ((x_size_2054X < 1)) {
      arg0K0 = 1;
      goto L15868;}
    else {
      arg0K0 = x_size_2054X;
      goto L15868;}}
  else {
    n_2056X = n_424X / 30;
    arg0K0 = (3 + (((((7 + (((x_size_2054X)<<2))))>>2)) + ((((7 + (((n_2056X)<<2))))>>2))));
    goto L15843;}}
 L15868: {
  v_2057X = arg0K0;
  arg0K0 = (4 + ((-2 & ((((11 + (((v_2057X)<<2))))>>1))) + ((((7 + (((x_size_2054X)<<2))))>>2))));
  goto L15843;}
 L15843: {
  v_2058X = arg0K0;
  shift_space0_return_value = (extra_2055X + v_2058X);
  goto shift_space_return;}
 shift_space_return:
  switch (shift_space_return_tag) {
  case 0: goto shift_space_return_0;
  default: goto shift_space_return_1;
  }}

 proposal_d_write: {
  stob_420X = merged_arg0K0;
  index_421X = merged_arg0K1;
  value_422X = merged_arg0K2;{
  log_2059X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L15531;}
 L15531: {
  i_2060X = arg0K0;
  next_stob_2061X = *((long *) ((((char *) (-3 + log_2059X))) + (((i_2060X)<<2))));
  if ((1 == next_stob_2061X)) {add_log_entryAgc(1, i_2060X, stob_420X, index_421X, value_422X, 0);
    goto proposal_d_write_return;}
  else {
    if ((stob_420X == next_stob_2061X)) {
      if ((index_421X == (*((long *) ((((char *) (-3 + log_2059X))) + (4 + (((i_2060X)<<2)))))))) {
        addr_2062X = (((char *) (-3 + log_2059X))) + (8 + (((i_2060X)<<2)));S48_WRITE_BARRIER(log_2059X, addr_2062X, value_422X);
        *((long *) addr_2062X) = (long) (value_422X);
        goto proposal_d_write_return;}
      else {
        goto L15551;}}
    else {
      goto L15551;}}}
 L15551: {
  arg0K0 = (4 + i_2060X);
  goto L15531;}
 proposal_d_write_return:
  switch (proposal_d_write_return_tag) {
  case 0: goto proposal_d_write_return_0;
  case 1: goto proposal_d_write_return_1;
  default: goto proposal_d_write_return_2;
  }}

 proposal_d_read: {
  stob_418X = merged_arg0K0;
  index_419X = merged_arg0K1;{
  log_2063X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L15354;}
 L15354: {
  i_2064X = arg0K0;
  next_stob_2065X = *((long *) ((((char *) (-3 + log_2063X))) + (((i_2064X)<<2))));
  if ((1 == next_stob_2065X)) {
    v_2066X = add_log_entryAgc(1, i_2064X, stob_418X, index_419X, (*((long *) ((((char *) (-3 + stob_418X))) + (-4 & index_419X)))), 1);
    proposal_d_read0_return_value = v_2066X;
    goto proposal_d_read_return;}
  else {
    if ((stob_418X == next_stob_2065X)) {
      if ((index_419X == (*((long *) ((((char *) (-3 + log_2063X))) + (4 + (((i_2064X)<<2)))))))) {
        proposal_d_read0_return_value = (*((long *) ((((char *) (-3 + log_2063X))) + (8 + (((i_2064X)<<2))))));
        goto proposal_d_read_return;}
      else {
        goto L15376;}}
    else {
      goto L15376;}}}
 L15376: {
  arg0K0 = (4 + i_2064X);
  goto L15354;}
 proposal_d_read_return:
  switch (proposal_d_read_return_tag) {
  case 0: goto proposal_d_read_return_0;
  case 1: goto proposal_d_read_return_1;
  default: goto proposal_d_read_return_2;
  }}

 pending_interruptP: {
{ if ((s48_Spending_eventsPS)) {
    s48_Spending_eventsPS = 0;
    goto L15325;}
  else {
    goto L15311;}}
 L15325: {
  type_2067X = s48_get_next_event(&channel_2068X, &status_2069X);
  if ((type_2067X == ALARM_EVENT)) {
    arg0K0 = 1;
    goto L15331;}
  else {
    if ((type_2067X == KEYBOARD_INTERRUPT_EVENT)) {
      arg0K0 = 2;
      goto L15331;}
    else {
      if ((type_2067X == IO_COMPLETION_EVENT)) {enqueue_channelB(channel_2068X, status_2069X);
        arg0K0 = 8;
        goto L15331;}
      else {
        if ((type_2067X == OS_SIGNAL_EVENT)) {
          arg0K0 = 16;
          goto L15331;}
        else {
          if ((type_2067X == NO_EVENT)) {
            arg0K0 = 0;
            goto L15331;}
          else {
            if ((type_2067X == ERROR_EVENT)) {
              ps_write_string("OS error while getting event", (stderr));
              { long ignoreXX;
              PS_WRITE_CHAR(10, (stderr), ignoreXX) }
              ps_write_string((ps_error_string(status_2069X)), (stderr));
              { long ignoreXX;
              PS_WRITE_CHAR(10, (stderr), ignoreXX) }
              arg0K0 = 0;
              goto L15331;}
            else {
              ps_write_string("unknown type of event", (stderr));
              { long ignoreXX;
              PS_WRITE_CHAR(10, (stderr), ignoreXX) }
              arg0K0 = 0;
              goto L15331;}}}}}}}
 L15311: {
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      pending_interruptP0_return_value = 0;
      goto pending_interruptP_return;}
    else {
      pending_interruptP0_return_value = 0;
      goto pending_interruptP_return;}}
  else {
    pending_interruptP0_return_value = 1;
    goto pending_interruptP_return;}}
 L15331: {
  v_2070X = arg0K0;
  Spending_interruptsS = (v_2070X | (Spending_interruptsS));
  if ((type_2067X == NO_EVENT)) {
    goto L15311;}
  else {
    goto L15325;}}
 pending_interruptP_return:
  switch (pending_interruptP_return_tag) {
  case 0: goto pending_interruptP_return_0;
  case 1: goto pending_interruptP_return_1;
  case 2: goto pending_interruptP_return_2;
  default: goto pending_interruptP_return_3;
  }}

 make_closure: {
  a_416X = merged_arg0K0;
  b_417X = merged_arg0K1;{
  addr_2071X = s48_allocate_small(12);
  *((long *) addr_2071X) = (long) (2062);
  x_2072X = 3 + (((long) (addr_2071X + 4)));
  *((long *) (((char *) (-3 + x_2072X)))) = (long) (a_416X);
  *((long *) ((((char *) (-3 + x_2072X))) + 4)) = (long) (b_417X);
  if ((3 == (3 & x_2072X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + x_2072X))) + -4)))))) {
      *((long *) ((((char *) (-3 + x_2072X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_2072X))) + -4)))));
      make_closure0_return_value = x_2072X;
      goto make_closure_return;}
    else {
      make_closure0_return_value = x_2072X;
      goto make_closure_return;}}
  else {
    make_closure0_return_value = x_2072X;
    goto make_closure_return;}}
 make_closure_return:
  switch (make_closure_return_tag) {
  case 0: goto make_closure_return_0;
  default: goto make_closure_return_1;
  }}

 get_current_port: {
  marker_415X = merged_arg0K0;{
  thread_2073X = Scurrent_threadS;
  if ((3 == (3 & thread_2073X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thread_2073X))) + -4))))>>2))))) {
      if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_2073X))) + -4))))>>8))))>>2)))) {
        arg0K0 = (*((long *) ((((char *) (-3 + thread_2073X))) + 4)));
        goto L13562;}
      else {
        goto L13612;}}
    else {
      goto L13612;}}
  else {
    goto L13612;}}
 L13562: {
  env_2074X = arg0K0;
  if ((3 == (3 & env_2074X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_2074X))) + -4))))>>2))))) {
      obj_2075X = *((long *) (((char *) (-3 + env_2074X))));
      if ((3 == (3 & obj_2075X))) {
        if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_2075X))) + -4))))>>2))))) {
          if ((marker_415X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_2074X)))))))))))) {
            get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_2074X)))))))) + 4)));
            goto get_current_port_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + env_2074X))) + 4)));
            goto L13562;}}
        else {
          goto L13634;}}
      else {
        goto L13634;}}
    else {
      goto L13634;}}
  else {
    goto L13634;}}
 L13612: {
  ps_error("current thread is not a record", 0);
  get_current_port0_return_value = v_2076X;
  goto get_current_port_return;}
 L13634: {
  if ((25 == env_2074X)) {
    if (((((marker_415X)>>2)) == 1)) {
      arg3K0 = "dynamic environment doesn't have current-output-port";
      goto L13588;}
    else {
      arg3K0 = "dynamic environment doesn't have current-input-port";
      goto L13588;}}
  else {
    ps_error("dynamic environment is not a proper list", 0);
    get_current_port0_return_value = v_2077X;
    goto get_current_port_return;}}
 L13588: {
  v_2078X = arg3K0;
  ps_error(v_2078X, 0);
  get_current_port0_return_value = v_2079X;
  goto get_current_port_return;}
 get_current_port_return:
  switch (get_current_port_return_tag) {
  case 0: goto get_current_port_return_0;
  case 1: goto get_current_port_return_1;
  default: goto get_current_port_return_2;
  }}

 okay_argument_list: {
  list_414X = merged_arg0K0;{
  arg0K0 = list_414X;
  arg0K1 = 0;
  arg0K2 = list_414X;
  arg2K3 = 0;
  goto L13429;}
 L13429: {
  fast_2080X = arg0K0;
  len_2081X = arg0K1;
  slow_2082X = arg0K2;
  move_slowP_2083X = arg2K3;
  if ((25 == fast_2080X)) {
    okay_argument_list0_return_value = 1;
    okay_argument_list1_return_value = len_2081X;
    goto okay_argument_list_return;}
  else {
    if ((3 == (3 & fast_2080X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_2080X))) + -4))))>>2))))) {
        if (move_slowP_2083X) {
          if ((fast_2080X == slow_2082X)) {
            okay_argument_list0_return_value = 0;
            okay_argument_list1_return_value = 0;
            goto okay_argument_list_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + fast_2080X))) + 4)));
            arg0K1 = (1 + len_2081X);
            arg0K2 = (*((long *) ((((char *) (-3 + slow_2082X))) + 4)));
            arg2K3 = 0;
            goto L13429;}}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + fast_2080X))) + 4)));
          arg0K1 = (1 + len_2081X);
          arg0K2 = slow_2082X;
          arg2K3 = 1;
          goto L13429;}}
      else {
        okay_argument_list0_return_value = 0;
        okay_argument_list1_return_value = 0;
        goto okay_argument_list_return;}}
    else {
      okay_argument_list0_return_value = 0;
      okay_argument_list1_return_value = 0;
      goto okay_argument_list_return;}}}
 okay_argument_list_return:
  switch (okay_argument_list_return_tag) {
  case 0: goto okay_argument_list_return_0;
  default: goto okay_argument_list_return_1;
  }}

 copy_continuation_from_heapB: {
  cont_412X = merged_arg0K0;
  stack_arg_count_413X = merged_arg0K1;{
  stack_size_2084X = -2 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_412X))) + -4))))>>8))))>>2));
  new_cont_2085X = (Sbottom_of_stackS) + (0 - (((stack_size_2084X)<<2)));
  if ((0 == stack_arg_count_413X)) {
    SstackS = new_cont_2085X;
    goto L13258;}
  else {
    new_stack_2086X = new_cont_2085X + (0 - (((stack_arg_count_413X)<<2)));
    if ((new_stack_2086X < (SstackS))) {
      memcpy((void *)new_stack_2086X, (void *)(SstackS),(((stack_arg_count_413X)<<2)));
      SstackS = new_stack_2086X;
      goto L13258;}
    else {
      goto L13258;}}}
 L13258: {
  ScontS = new_cont_2085X;
  memcpy((void *)(new_cont_2085X + 4), (void *)((((char *) (-3 + cont_412X))) + 12),(-4 + (((stack_size_2084X)<<2))));
  *((long *) new_cont_2085X) = (long) ((((long) ((((char *) (-3 + (*((long *) ((((char *) (-3 + cont_412X))) + 4)))))) + ((((*((long *) (((char *) (-3 + cont_412X))))))>>2))))));
  Sheap_continuationS = (*((long *) ((((char *) (-3 + cont_412X))) + 8)));
  copy_continuation_from_heapB0_return_value = new_cont_2085X;
  goto copy_continuation_from_heapB_return;}
 copy_continuation_from_heapB_return:
  switch (copy_continuation_from_heapB_return_tag) {
  case 0: goto copy_continuation_from_heapB_return_0;
  case 1: goto copy_continuation_from_heapB_return_1;
  default: goto copy_continuation_from_heapB_return_2;
  }}

 get_error_string: {
  status_411X = merged_arg0K0;{
  string_2087X = ps_error_string(status_411X);
  x_2088X = strlen((char *) string_2087X);
  if ((x_2088X < 256)) {
    arg0K0 = x_2088X;
    goto L12554;}
  else {
    arg0K0 = 256;
    goto L12554;}}
 L12554: {
  len_2089X = arg0K0;
  len_2090X = 1 + len_2089X;
  addr_2091X = s48_allocate_small((4 + len_2090X));
  *((long *) addr_2091X) = (long) ((70 + (((len_2090X)<<8))));
  string_2092X = 3 + (((long) (addr_2091X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_2092X))) + len_2089X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L12564;}
 L12564: {
  i_2093X = arg0K0;
  if ((i_2093X == len_2089X)) {
    get_error_string0_return_value = string_2092X;
    goto get_error_string_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_2092X))) + i_2093X)) = (unsigned char) ((((unsigned char) (*(string_2087X + i_2093X)))));
    arg0K0 = (1 + i_2093X);
    goto L12564;}}
 get_error_string_return:
  switch (get_error_string_return_tag) {
  case 0: goto get_error_string_return_0;
  case 1: goto get_error_string_return_1;
  case 2: goto get_error_string_return_2;
  case 3: goto get_error_string_return_3;
  case 4: goto get_error_string_return_4;
  default: goto get_error_string_return_5;
  }}

 push_native_interrupt_continuation: {
{ x_2094X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2094X);
  x_2095X = Scurrent_threadS;
  addr_2096X = (((char *) (-3 + x_2095X))) + 12;S48_WRITE_BARRIER(x_2095X, addr_2096X, 1);
  *((long *) addr_2096X) = (long) (1);
  n_2097X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_2097X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (12);
  code_2098X = Sinterrupt_return_codeS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_2098X))) + 11))));
  ScontS = (SstackS);
  goto push_native_interrupt_continuation_return;}
 push_native_interrupt_continuation_return:
  switch (push_native_interrupt_continuation_return_tag) {
  case 0: goto push_native_interrupt_continuation_return_0;
  default: goto push_native_interrupt_continuation_return_1;
  }}

 move_args_above_contB: {
  nargs_410X = merged_arg0K0;{
  top_of_args_2099X = SstackS;
  if (((ScontS) == (top_of_args_2099X + (((nargs_410X)<<2))))) {
    goto move_args_above_contB_return;}
  else {
    SstackS = (ScontS);
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (top_of_args_2099X + (-4 + (((nargs_410X)<<2))));
    goto L5460;}}
 L5460: {
  loc_2100X = arg1K0;
  arg_2101X = arg1K1;
  if ((arg_2101X < top_of_args_2099X)) {
    SstackS = ((SstackS) + (0 - (((nargs_410X)<<2))));
    goto move_args_above_contB_return;}
  else {
    *((long *) loc_2100X) = (long) ((*((long *) arg_2101X)));
    arg1K0 = (loc_2100X + -4);
    arg1K1 = (arg_2101X + -4);
    goto L5460;}}
 move_args_above_contB_return:
  switch (move_args_above_contB_return_tag) {
  case 0: goto move_args_above_contB_return_0;
  case 1: goto move_args_above_contB_return_1;
  case 2: goto move_args_above_contB_return_2;
  case 3: goto move_args_above_contB_return_3;
  case 4: goto move_args_above_contB_return_4;
  case 5: goto move_args_above_contB_return_5;
  case 6: goto move_args_above_contB_return_6;
  default: goto move_args_above_contB_return_7;
  }}

}
long s48_call_startup_procedure(char **startup_vector_2102X, long startup_vector_length_2103X)
{
  long arg0K0;
  char *merged_arg3K2;
  long merged_arg0K3;
  long merged_arg0K1;
  long merged_arg0K0;

  int make_initial_channel_return_tag;
  long make_initial_channel0_return_value;
  long channel_2104X;
  long status_2105X;
  char *name_2106X;
  long x_2142X;
  char * addr_2141X;
  long i_2140X;
  long string_2139X;
  char * addr_2138X;
  long len_2137X;
  long len_2136X;
  long v_2135X;
  long x_2134X;
  long output_2133X;
  long v_2132X;
  long error_2131X;
  long v_2130X;
  long input_2129X;
  long v_2128X;
  long i_2127X;
  long length_2126X;
  long *v_2125X;
  long v_2124X;
  long v_2123X;
  long y_2122X;
  long x_2121X;
  long v_2120X;
  long x_2119X;
  long y_2118X;
  char * addr_2117X;
  long value_2116X;
  long x_2115X;
  long y_2114X;
  long i_2113X;
  long vector_2112X;
  long v_2111X;
  long vector_2110X;
  char * addr_2109X;
  long len_2108X;
  long code_2107X;
 {  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_2107X = Sinterrupt_return_codeS;
  Slast_code_calledS = code_2107X;
  Scode_pointerS = (((char *) (-3 + code_2107X)));
  Slast_code_pointer_resumedS = (Scode_pointerS);
  SvalS = 13;
  Scurrent_threadS = 25;SHARED_SETB((Ssession_dataS), 25);SHARED_SETB((Sexception_handlersS), 25);SHARED_SETB((Sinterrupt_handlersS), 25);
  Senabled_interruptsS = 0;SHARED_SETB((Sfinalizer_alistS), 25);
  Sfinalize_theseS = 25;
  Spending_interruptsS = 0;
  s48_Spending_interruptPS = 0;
  Sos_signal_listS = 25;
  Sinterrupted_templateS = 1;
  len_2108X = ((startup_vector_length_2103X)<<2);
  addr_2109X = s48_allocate_tracedAgc((4 + len_2108X));
  if ((addr_2109X == NULL)) {
    arg0K0 = 1;
    goto L18545;}
  else {
    *((long *) addr_2109X) = (long) ((10 + (((len_2108X)<<8))));
    arg0K0 = (3 + (((long) (addr_2109X + 4))));
    goto L18545;}}
 L18545: {
  vector_2110X = arg0K0;
  if ((1 == vector_2110X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_2111X;
    goto L18531;}
  else {
    arg0K0 = vector_2110X;
    goto L18531;}}
 L18531: {
  vector_2112X = arg0K0;
  arg0K0 = 0;
  goto L18568;}
 L18568: {
  i_2113X = arg0K0;
  if ((i_2113X == startup_vector_length_2103X)) {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vector_2112X);
    y_2114X = fileno((stderr));
    x_2115X = fileno((stdout));
    if ((x_2115X < y_2114X)) {
      arg0K0 = y_2114X;
      goto L20304;}
    else {
      arg0K0 = x_2115X;
      goto L20304;}}
  else {
    value_2116X = enter_stringAgc((*(startup_vector_2102X + i_2113X)));
    addr_2117X = (((char *) (-3 + vector_2112X))) + (((i_2113X)<<2));S48_WRITE_BARRIER(vector_2112X, addr_2117X, value_2116X);
    *((long *) addr_2117X) = (long) (value_2116X);
    arg0K0 = (1 + i_2113X);
    goto L18568;}}
 L20304: {
  y_2118X = arg0K0;
  x_2119X = fileno((stdin));
  if ((x_2119X < y_2118X)) {
    arg0K0 = y_2118X;
    goto L20306;}
  else {
    arg0K0 = x_2119X;
    goto L20306;}}
 L20306: {
  v_2120X = arg0K0;
  x_2121X = Snumber_of_channelsS;
  y_2122X = 1 + v_2120X;
  if ((x_2121X < y_2122X)) {
    arg0K0 = y_2122X;
    goto L20308;}
  else {
    arg0K0 = x_2121X;
    goto L20308;}}
 L20308: {
  v_2123X = arg0K0;
  Snumber_of_channelsS = v_2123X;
  v_2124X = fileno((stdin));
  Svm_channelsS = ((long*)malloc(sizeof(long) * (Snumber_of_channelsS)));
  Spending_channels_headS = 1;
  Spending_channels_tailS = 1;
  if ((NULL == (Svm_channelsS))) {
    ps_error("out of memory, unable to continue", 0);
    goto L20330;}
  else {
    goto L20330;}}
 L20330: {
  v_2125X = Svm_channelsS;
  length_2126X = Snumber_of_channelsS;
  arg0K0 = 0;
  goto L20378;}
 L20378: {
  i_2127X = arg0K0;
  if ((i_2127X < length_2126X)) {
    *(v_2125X + i_2127X) = 1;
    arg0K0 = (1 + i_2127X);
    goto L20378;}
  else {s48_make_availableAgc(((((3 * (8 + ((((4 + (strlen((char *) "standard output"))))>>2)))))<<2)));
    v_2128X = fileno((stdin));
    merged_arg0K0 = v_2128X;
    merged_arg0K1 = 4;
    merged_arg3K2 = "standard input";
    merged_arg0K3 = 0;
    make_initial_channel_return_tag = 0;
    goto make_initial_channel;
   make_initial_channel_return_0:
    input_2129X = make_initial_channel0_return_value;
    v_2130X = fileno((stderr));
    merged_arg0K0 = v_2130X;
    merged_arg0K1 = 8;
    merged_arg3K2 = "standard error";
    merged_arg0K3 = 0;
    make_initial_channel_return_tag = 1;
    goto make_initial_channel;
   make_initial_channel_return_1:
    error_2131X = make_initial_channel0_return_value;
    v_2132X = fileno((stdout));
    merged_arg0K0 = v_2132X;
    merged_arg0K1 = 8;
    merged_arg3K2 = "standard output";
    merged_arg0K3 = 0;
    make_initial_channel_return_tag = 2;
    goto make_initial_channel;
   make_initial_channel_return_2:
    output_2133X = make_initial_channel0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (input_2129X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (output_2133X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (error_2131X);
    x_2134X = s48_resumer_records();
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2134X);s48_initialization_completeB();
    v_2135X = s48_startup_procedure();
    return s48_restart(v_2135X, 5);}}
 make_initial_channel: {
  channel_2104X = merged_arg0K0;
  status_2105X = merged_arg0K1;
  name_2106X = merged_arg3K2;{
  len_2136X = strlen((char *) name_2106X);
  len_2137X = 1 + len_2136X;
  addr_2138X = s48_allocate_small((4 + len_2137X));
  *((long *) addr_2138X) = (long) ((70 + (((len_2137X)<<8))));
  string_2139X = 3 + (((long) (addr_2138X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_2139X))) + len_2136X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L14994;}
 L14994: {
  i_2140X = arg0K0;
  if ((i_2140X == len_2136X)) {
    addr_2141X = s48_allocate_small(28);
    *((long *) addr_2141X) = (long) (6170);
    x_2142X = 3 + (((long) (addr_2141X + 4)));
    *((long *) (((char *) (-3 + x_2142X)))) = (long) (status_2105X);
    *((long *) ((((char *) (-3 + x_2142X))) + 4)) = (long) (string_2139X);
    *((long *) ((((char *) (-3 + x_2142X))) + 8)) = (long) ((((channel_2104X)<<2)));
    *((long *) ((((char *) (-3 + x_2142X))) + 12)) = (long) (1);
    *((long *) ((((char *) (-3 + x_2142X))) + 16)) = (long) (1);
    *((long *) ((((char *) (-3 + x_2142X))) + 20)) = (long) (1);
    *((Svm_channelsS) + channel_2104X) = x_2142X;
    make_initial_channel0_return_value = x_2142X;
    goto make_initial_channel_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_2139X))) + i_2140X)) = (unsigned char) ((((unsigned char) (*(name_2106X + i_2140X)))));
    arg0K0 = (1 + i_2140X);
    goto L14994;}}
 make_initial_channel_return:
  switch (make_initial_channel_return_tag) {
  case 0: goto make_initial_channel_return_0;
  case 1: goto make_initial_channel_return_1;
  default: goto make_initial_channel_return_2;
  }}

}void
s48_init(void)
{
Snumber_of_channelsS = 100;
Spending_channels_headS = 1;
Spending_channels_tailS = 1;
Stemp0S = 1;
Stemp1S = 1;
Sstack_warningPS = 1;
Sos_signal_listS = 25;
Sexternal_exceptionPS = 0;
Simported_bindingsS = 1;
Sexported_bindingsS = 1;
Sexternal_root_stackS = NULL;
Sexternal_root_stack_baseS = NULL;
Spermanent_external_rootsS = NULL;
Spost_gc_cleanupS = HtopD10262;
Sgc_root_procS = HtopD10273;
s48_Scallback_return_stack_blockS = 1;
s48_Spending_eventsPS = 0;
}
